SCP হলো Secure Copy Protocol এবং এটি "Secure Shell" প্রোটোকলের ওপর ভিত্তি করে। এটি কম্পিউটারগুলোর মধ্যে ফাইল ট্রান্সফার করার একটি পদ্ধতি প্রদান করে। এই ট্রান্সফারে, হয় দুটি কম্পিউটারই রিমোট হোস্ট হতে পারে বা একটি কম্পিউটার লোকালহোস্ট হতে পারে এবং অন্যটি রিমোট হোস্ট। সম্প্রতি, অনেক ব্যবহারকারী SCP-এ ফাইল কপি করার চেষ্টা করার সময় " No Such File or Directory " এরর পাচ্ছেন।

এই আর্টিকেলে, আমরা এই সমস্যাটি ট্রিগার করার কিছু কারণ আলোচনা করবো এবং এর পূর্ণাঙ্গ সমাধানের জন্য কয়েকটি কার্যকর সমাধান দিবো। আমরা এছাড়া এটিকে ট্রিগার করার কিছু কারণও দেখবো। গাইডটি সাবধানে এবং সঠিকভাবে অনুসরণ করুন কনফ্লিক্ট এড়াতে।
SCP-এ "No Such File or Directory" এররটির কারণ
বহু ব্যবহারকারীর রিপোর্ট পাওয়ার পর, আমরা সমস্যাটি তদন্ত করলাম এবং এটি পূর্ণাঙ্গভাবে সমাধানের জন্য সমাধান সেটটি ডিজাইন করলাম। এছাড়া, আমরা এটিকে ট্রিগার করার কারণগুলোও দেখলাম এবং নিচে তালিকাভুক্ত করলাম।
- ভুল কমান্ড: কিছু ক্ষেত্রে, ব্যবহারকারী ফাইল কপি করার জন্য যে কমান্ড ব্যবহার করছেন সেটি সঠিক নাও হতে পারে। আপনাকে কপি কমান্ডটি বর্তমান পরিস্থিতির সাথে ফিট করতে মডিফাই করতে হবে যেখানে আপনি কপি করছেন। ফাইল এবং পুরো ডিরেক্টরি কপি করার কমান্ডগুলো ভিন্ন। এছাড়া, ভিন্ন কনফিগারেশনের দুটি কম্পিউটারের মধ্যে কপি করার কমান্ডও প্রয়োজন অনুযায়ী পরিবর্তিত হয়।
- পোর্ট নম্বর: এটিও সম্ভব যে কম্পিউটারগুলোর মধ্যে ফাইল কপি করার জন্য পোর্ট নম্বর নির্দিষ্ট করা হয়নি। সঠিক পোর্ট ফরওয়ার্ড করা উচিত দুটি হোস্টের মধ্যে ফাইল কপি করার চেষ্টা করার আগে।
- ভুল লগইন: যদি আপনি বর্তমানে সার্ভারে লগইন করা থাকেন এবং ফাইলগুলো ডেস্কটপে কপি করার চেষ্টা করছেন, আপনি এই এরর পেতে পারেন কারণ সার্ভার সার্ভারের ভিতরে লোকাল পাথ খুঁজে বের করার চেষ্টা করে। এটি সার্ভার পাথ থেকে লগ আউট করে প্রতিরোধ করা যায়।
- ফাইল পারমিশন: কিছু ক্ষেত্রে, কপি করার ফাইলগুলোর পারমিশন "Read-Only"-তে সীমাবদ্ধ থাকতে পারে। এটি সার্ভারকে ফাইলগুলো অ্যাক্সেস করতে এবং কপি করতে বাধা দিতে পারে। ফাইলগুলোর জন্য Read এবং Write পারমিশন প্রদান করা গুরুত্বপূর্ণ।
এখন যেহেতু আপনার সমস্যার প্রকৃতির একটি মৌলিক ধারণা হয়েছে, আমরা সমাধানগুলোর দিকে যাবো। নিশ্চিত করুন এইগুলোর নির্দিষ্ট ক্রমে বাস্তবায়ন করছেন যেটি উপস্থাপন করা হয়েছে কনফ্লিক্ট এড়াতে।
সমাধান ১: সঠিক কমান্ড ব্যবহার করা
আপনাকে হোস্ট কনফিগারেশনের ওপর নির্ভর করে সঠিক কমান্ড ব্যবহার করতে হবে যেগুলোর মধ্যে আপনি ফাইল ট্রান্সফার করতে চান। এর জন্য, আমরা কিছু কমান্ড তালিকাভুক্ত করবো যা ভিন্ন হোস্ট কনফিগারেশনের মধ্যে ফাইল ট্রান্সফার করতে ব্যবহার করা যায়।
লোকাল হোস্ট থেকে রিমোট হোস্টে কপি করা
Localhost হলো আসল কম্পিউটার যেটিতে আপনার ফিজিক্যাল অ্যাক্সেস আছে। Remote Host হলো সেটি যেটিতে ব্যবহারকারীর কোনো ফিজিক্যাল অ্যাক্সেস নেই এবং এটি একটি দূরবর্তী সার্ভারে অবস্থিত। লোকালহোস্ট থেকে রিমোট হোস্টে ফাইল ট্রান্সফার করতে, আপনাকে নিচের কমান্ড কনফিগারেশন ব্যবহার করতে হবে।
$ scp "the_file" your_username@the_remote_host:the/path/to/the/directory
" Alexa.txt " নামের একটি টেক্সট ফাইল কপি করার উদাহরণ নিচের মতো হবে।
$ scp Alexa.txt your_username@remotehost.edu:/some/remote/directory
একইভাবে, আপনি একটি পুরো ডিরেক্টরি নিচের রকম কপি করতে পারেন
$ scp -r "the_directory_to_copy" your_username@the_remote_host:the/path/to/the/directory/to/copy/to
" Alexa " নামের একটি ডিরেক্টরি কপি করার উদাহরণ নিচের মতো হবে।
$ scp -r foo your_username@remotehost.edu:/some/remote/directory/bar
রিমোট হোস্ট থেকে লোকাল হোস্টে কপি করা
যদি আপনি রিমোট হোস্ট থেকে একটি ফাইল লোকাল হোস্টে কপি করতে চান, কমান্ড কনফিগারেশনগুলো মূলগুলো থেকে ভিন্ন। নিচে রিমোট হোস্ট এবং লোকালহোস্টের মধ্যে ফাইল কপি করার উপযুক্ত কমান্ডগুলো নির্দেশ করা হলো।
একটি ফাইল কপি করতে, নিচের কমান্ড ব্যবহার করুন
$ scp your_username@the_remote_host:the_file /your/local/directory
" Alexa.txt " নামের একটি ফাইল কপি করতে, নিচের কমান্ডগুলো ব্যবহার করুন
$ scp your_username@the_remote_host:Alexa.txt /your/local/directory
সমাধান ২: পোর্ট নম্বর চিহ্নিত করা
ফাইল কম্পিউটারে কপি করার আগে রিমোট হোস্টের পোর্ট নম্বর চিহ্নিত করা উচিত। এর জন্য, আমরা কপি প্রক্রিয়া শুরু করার সময় পোর্ট নম্বর যোগ করবো।
আপনি কম্পিউটারগুলোর মধ্যে কপি করার সময় পোর্ট নম্বর নির্দেশ করতে নিচের কমান্ড ব্যবহার করতে পারেন।
$ scp -P port_number your_username@the_remote_host:the_file /your/local/directory
এই একই কমান্ডটি রিমোট হост থেকে বা রিমোট হোস্টে কপি করার সময় পোর্ট নম্বর নির্দেশ করতে ব্যবহার করা যায়। আপনাকে শুধু " -P (Port number) " যোগ করতে হবে " $ scp " অংশের পর।
সমাধান ৩: পারমিশন পরিবর্তন করা
কম্পিউটারগুলোর মধ্যে কপি করার সময় ফাইলগুলোর জন্য উপযুক্ত পারমিশন প্রদান করা উচিত। তাই, এই ধাপে, আমরা একটি ফাইলের পারমিশন পরিবর্তন করার প্রক্রিয়া নির্দেশ করবো। এর জন্য:
- আপনি যে ফাইলটি কপি করার চেষ্টা করছেন সেটিতে Right–click করুন।
- Properties-এ ক্লিক করুন এবং Security ট্যাব সিলেক্ট করুন।

- নিশ্চিত করুন যে সকল পারমিশন System এবং Administrator-কে দেওয়া আছে।

দ্রষ্টব্য: এছাড়া, নিশ্চিত করুন আপনি সার্ভার পাথ-এ লগইন করা থাকবেন না ফাইল কপি করার সময়।