কম্পিউটার টিউটোরিয়াল

লিনাক্সে SCP ব্যবহার করে সিকিউরলি ফাইল ট্রান্সফার করার পদ্ধতি

লিনাক্স সার্ভার অ্যাক্সেস করার وقت আপনার কাছে কয়েকটি অপশন থাকে। যদি এটি ইউজার ইন্টারফেসসহ একটি সার্ভার হয়, তবে আপনি VNC ব্যবহার করতে পারেন, কিন্তু বেশি কমন অপশন হচ্ছে একটি হেডলেস সার্ভারে SSH (Secure Shell) দিয়ে লগ ইন করা। এটি একটি এনক্রিপ্টেড, সিকিউর প্রোটোকল যা আপনাকে একটি SSH ক্লায়েন্টের মাধ্যমে একটি রিমোট সিস্টেমে অ্যাক্সেস দেয়। তবে, আপনি শুধু কিছু ফাইল সার্ভারে পাঠাতে চাইতে পারেন। সেটার জন্য, আপনি Secure Copy বা SCP নামে একটি প্রোগ্রাম ব্যবহার করতে পারেন, যা স্টালওয়ার্ট SSH প্রোটোকলের ওপর রান করে আপনার নেটওয়ার্কের মাধ্যমে দ্রুত ফাইল ট্রান্সফার করে একটি রিমোট সিস্টেমে। এখানে আমরা আপনাকে দেখাচ্ছি কীভাবে লিনাক্সে SCP ব্যবহার করে সিকিউরলি ফাইল ট্রান্সফার করবেন।

SSH কনফিগার করা

আপনার সার্ভারে (অথবা যেকোনো রিমোট সিস্টেম যা আপনি অ্যাক্সেস করতে চান), আপনাকে একটি SSH সার্ভার ইনস্টল করতে হবে। লিনাক্সে সবচেয়ে কমন হচ্ছে OpenSSH সার্ভার। এটি ইনস্টল করতে, আপনি নিচের কমান্ডগুলোর একটি রান করতে পারেন:

# Debian/Ubuntu-বেসড সার্ভার sudo apt install openssh-server # Fedora/CentOS sudo dnf install openssh-server

আপনার ডিস্ট্রোর উপর নির্ভর করে, আপনাকে কিছু সফটওয়্যার ফায়ারওয়ালের মাধ্যমে SSH আ্যালো করতে হতে পারে। উবুন্টুতে এই সমস্যা নেই, কিন্তু CentOS-এ, আপনাকে নিচের কমান্ডগুলোও রান করতে হবে:

sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --reload

এই পয়েন্টে, আপনাকে একটি SSH ক্লায়েন্ট দরকার। অধিকাংশ ডিস্ট্রোতে, আপনার OpenSSH ক্লায়েন্ট ইনস্টলড থাকে। কিন্তু, আপনার কাছে না থাকলে, নিচের কমান্ড দিয়ে ইনস্টল করুন:

# Debian/Ubuntu-বেসড ডিস্ট্রো sudo apt install openssh-client # Fedora sudo dnf install openssh-client

SSH এর মাধ্যমে আপনার সিস্টেমে কানেক্ট করা

SCP-র সাথে এক্সপেরিমেন্ট করার আগে SSH কাজ করছে কিনা নিশ্চিত করি। SSH দিয়ে কানেক্ট করার আগে, আপনাকে সার্ভারের আইপি অ্যাড্রেস আবিষ্কার করতে হবে। গ্রাফিক্যাল সার্ভারগুলোর জন্য, আইপি অ্যাড্রেস সিস্টেম সেটিংসের Network অ্যাপলেটে দেখানো থাকে। অধিকাংশ সার্ভারের জন্য, আপনাকে টার্মিনালে ip কমান্ড ব্যবহার করতে হবে।

ip a s

আউটপুটে, eth0 বা enp1s0 এর নিচে inet দিয়ে শুরু হওয়া লাইনটি খুঁজুন, আপনার নেটওয়ার্ক ইন্টারফেস সিস্টেমের সাথে কীভাবে কানেক্টেড সেটার ওপর ডিপেন্ড করে। আমার কেসে, এটি 192.168.122.201।

SSH কানেকশন টেস্ট করতে, লিনাক্স ক্লায়েন্ট মেশিনে যান এবং টাইপ করুন:

ssh user@192.168.122.201

"user"-কে সার্ভারের আসল ইউজারনেম দিয়ে চেঞ্জ করুন।

সেই অ্যাকাউন্টের পাসওয়ার্ড দিন, এবং আপনি বিজনেসে আছেন। আপনি যদি "authenticity of host can't be established" সম্পর্কে একটি প্রশ্ন পান, তবে প্রশ্নের জবাব "yes" দিন। এটি একটি সিকিউরিটি চেক যাতে নিশ্চিত হয় যে আপনি আপনার আসল সার্ভারের সাথে কানেক্ট করছেন কোনো ইমপস্টরের সাথে নয়। আপনি আপনার ক্লায়েন্ট সিস্টেমে সেম প্রম্পট দেখবেন যা আপনি সরাসরি সার্ভারে লগ ইন করলে দেখেন, এবং এটার মানে আপনার কানেকশন সফল হয়েছে। পরবর্তী ধাপে এগিয়ে যাওয়ার আগে আপনার SSH কানেকশন ম্যাক্সিমাম সিকিউরিটির জন্য কনফিগার করুন।

SCP ব্যবহার করে ফাইল ট্রান্সফার করা

এখন যেহেতু আপনি SSH কানেকশন টেস্ট করলেন, আপনি দুটি মেশিনের মধ্যে ফাইল কপি করা শুরু করতে পারেন। সিকিউর কপি আচivement করা হয় scp কমান্ড ব্যবহার করে। scp কমান্ডের বেসিক ফরম্যাট হচ্ছে:

scp /PATH/TO/FILE USER@IP-ADDRESS:PATH/TO/DESIRED/DESTINATION

উদাহরণস্বরূপ, "backup.txz" ফাইলটি লোকাল মেশিন থেকে "backups" ফোল্ডারে কপি করতে "maketecheasier" ইউজারের হোম ডিরেক্টরিতে রিমোট সার্ভারে যার আইপি অ্যাড্রেস 192.168.1.101, ব্যবহার করুন:

scp backup.txz maketecheasier@192.168.122.201:~/backups/

ssh দিয়ে কানেক্ট করার মত, আপনাকে পাসওয়ার্ডের জন্য প্রম্পট করা হবে। ইউজারনেমের জন্য প্রম্পট করা হবে না, কারণ কমান্ডে সেটা স্পেসিফাইড ছিল।

আপনি ওয়াইল্ডকার্ডও ব্যবহার করতে পারেন নিচের মত:

scp *.txz maketecheasier@192.168.122.201:~/backups/

রিমোট সার্ভার থেকে লোকাল মেশিনে একটি ফাইল কপি করতে, শুধু প্যারামিটারগুলো রিভার্স করুন:

scp maketecheasier@192.168.122.201:~/backups/backup.txz .

কমান্ডের শেষে ডট (.) মানে "কারেন্ট ডিরেক্টরি", যেমন এটি স্ট্যান্ডার্ড cp বা mv কমান্ডের সাথে হয়। আপনি চাইলে অন্য কোনো ডিরেক্টরিও স্পেসিফাই করতে পারেন।

scp -r maketecheasier@192.168.122.201:~/backups/ backups-from-server/

ওয়াইল্ডকার্ডের সাথে একইভাবে:

scp maketecheasier@192.168.122.201:~/backups/*.txz .

একটি ডিরেক্টরি রিকার্সিভলি রিমোট সার্ভারে কপি করতে, -r অপশন ব্যবহার করুন:

scp -r backups/ maketecheasier@192.168.122.201:~/backups/

এবং রিমোট সার্ভার থেকে লোকাল মেশিনে একটি ডিরেক্টরির রিকার্সিভ কপি করতে ব্যবহার করুন:

scp -r scp -r maketecheasier@192.168.122.201:~/backups/ .

চেষ্টা করার অন্যান্য SCP কমান্ড

আগে বাড়তে, -C অপশন এক্সপেরিমেন্ট করুন, যা কপি করার সময় কমপ্রেশন ইনেবল করে, অথবা -l অপশন, যা কপি করার সময় ব্যান্ডউইথ লিমিট করে।

পাসওয়ার্ড টাইপ না করে ফাইল ট্রান্সফার করতে, আপনি একটি প্রাইভেট SSH কী জেনারেট করতে পারেন আপনার সার্ভারের সাথে কানেক্ট করার জন্য।

  1. লিনাক্স VPS-এ CS:GO সার্ভার তৈরির পদ্ধতি

  2. লিনাক্স হোম সার্ভার সিকিউর করুন

  3. SendAnywhere ব্যবহার করে নিরাপদে ফাইল ট্রান্সফার বিভিন্ন ডিভাইসে

  4. উইন্ডোজ ১০-ে Nearby Sharing দিয়ে ফাইল শেয়ার করুন: ধাপে ধাপে গাইড