একটি লিনাক্স সার্ভার অ্যাক্সেস করার সময়, আপনার কাছে কয়েকটি বিকল্প রয়েছে। যদি এটি একটি ব্যবহারকারী ইন্টারফেস সহ একটি সার্ভার হয় তবে আপনি VNC ব্যবহার করতে পারেন, তবে আরও সাধারণ বিকল্প হল সিকিউর শেল বা SSH সহ একটি হেডলেস সার্ভারে লগ ইন করা। এটি একটি এনক্রিপ্ট করা, সুরক্ষিত প্রোটোকল যা আপনাকে একটি SSH ক্লায়েন্টের মাধ্যমে একটি দূরবর্তী সিস্টেমে অ্যাক্সেস দেয়। যাইহোক, আপনি শুধুমাত্র একটি সার্ভারে কিছু ফাইল পাঠাতে চাইতে পারেন। এর জন্য, আপনি সিকিউর কপি, বা এসসিপি নামক একটি প্রোগ্রাম ব্যবহার করতে পারেন, যা আপনার নেটওয়ার্কের মাধ্যমে দ্রুত একটি দূরবর্তী সিস্টেমে ফাইল স্থানান্তর করতে অটল SSH প্রোটোকলের উপর চলে। এখানে আমরা আপনাকে দেখাই কিভাবে লিনাক্সে SCP ব্যবহার করে নিরাপদে ফাইল স্থানান্তর করতে হয়।
SSH কনফিগার করা হচ্ছে
আপনার সার্ভারে (বা আপনি যে কোনও দূরবর্তী সিস্টেম অ্যাক্সেস করতে চান), আপনাকে একটি SSH সার্ভার ইনস্টল করতে হবে। লিনাক্সে সবচেয়ে সাধারণ একটি হল OpenSSH সার্ভার। এটি ইনস্টল করতে, আপনি নিম্নলিখিত কমান্ডগুলির মধ্যে একটি চালাতে পারেন:
# Debian/Ubuntu-based server 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-based distro sudo apt install openssh-client # Fedora sudo dnf install openssh-client
SSH এর মাধ্যমে আপনার সিস্টেমে সংযোগ করা হচ্ছে
আসুন SCP এর সাথে গোলমাল করার চেষ্টা করার আগে SSH কাজ করে তা নিশ্চিত করুন। আপনি SSH এর মাধ্যমে সংযোগ করার আগে, আপনাকে সার্ভারের IP ঠিকানাটি আবিষ্কার করতে হবে। গ্রাফিকাল সার্ভারে, IP ঠিকানাটি সিস্টেম সেটিংসে নেটওয়ার্ক অ্যাপলেটে দেখানো হয়। বেশিরভাগ সার্ভারে, আপনার ip
ব্যবহার করা উচিত টার্মিনালে কমান্ড।
ip a s
আউটপুটে, inet
দিয়ে শুরু হওয়া লাইনটি দেখুন eth0
এর অধীনে অথবা enp1s0
, আপনার নেটওয়ার্ক ইন্টারফেস কিভাবে সিস্টেমের সাথে সংযুক্ত আছে তার উপর নির্ভর করে। আমার ক্ষেত্রে, এটি 192.168.122.201।
SSH সংযোগ পরীক্ষা করতে, Linux ক্লায়েন্ট মেশিনে যান এবং টাইপ করুন:
ssh [email protected]
সার্ভারে "ব্যবহারকারী" কে প্রকৃত ব্যবহারকারীর নাম পরিবর্তন করুন৷
৷সেই অ্যাকাউন্টের পাসওয়ার্ড লিখুন এবং আপনি ব্যবসা করছেন। আপনি যদি "হোস্টের সত্যতা প্রতিষ্ঠিত করা যায় না" সম্পর্কে একটি প্রশ্ন পান তবে প্রশ্নের উত্তর "হ্যাঁ" দিন। এটি একটি নিরাপত্তা চেক যা নিশ্চিত করার জন্য ডিজাইন করা হয়েছে যে আপনি আপনার প্রকৃত সার্ভারের সাথে সংযুক্ত হচ্ছেন এবং কোনো প্রতারক নয়। আপনি আপনার ক্লায়েন্ট সিস্টেমে একই প্রম্পট দেখতে পাবেন যা আপনি সরাসরি সার্ভারে লগইন করার সময় দেখেন এবং এর মানে হল আপনার সংযোগ সফল হয়েছে। পরবর্তী ধাপে যাওয়ার আগে সর্বোচ্চ নিরাপত্তার জন্য আপনার SSH সংযোগগুলিও কনফিগার করা উচিত।
ফাইল স্থানান্তর করতে SCP ব্যবহার করা
এখন আপনি SSH সংযোগ পরীক্ষা করেছেন, আপনি দুটি মেশিনের মধ্যে ফাইল অনুলিপি করা শুরু করতে পারেন। scp
ব্যবহার করে সুরক্ষিত কপি করা হয় আদেশ scp
এর মৌলিক বিন্যাস কমান্ড হল:
scp /PATH/TO/FILE USER@IP-ADDRESS:PATH/TO/DESIRED/DESTINATION
উদাহরণস্বরূপ, 192.168.1.101 আইপি ঠিকানা সহ রিমোট সার্ভারে ব্যবহারকারী "maketecheasier"-এর হোম ডিরেক্টরির "ব্যাকআপ" ফোল্ডারে স্থানীয় মেশিন থেকে "backup.txz" ফাইলটি অনুলিপি করতে, ব্যবহার করুন:
scp backup.txz [email protected]:~/backups/
আপনি যখন ssh
ব্যবহার করে সংযোগ করেন তখন একই রকম , আপনাকে পাসওয়ার্ডের জন্য অনুরোধ করা হবে। আপনাকে ব্যবহারকারীর নামের জন্য অনুরোধ করা হবে না, যেমনটি কমান্ডে উল্লেখ করা হয়েছে।
আপনি নিম্নলিখিত মত ওয়াইল্ড কার্ড ব্যবহার করতে পারেন:
scp *.txz [email protected]:~/backups/
দূরবর্তী সার্ভার থেকে স্থানীয় মেশিনে একটি ফাইল অনুলিপি করতে, শুধুমাত্র পরামিতিগুলি বিপরীত করুন:
scp [email protected]:~/backups/backup.txz .
কমান্ডের শেষে বিন্দুটি লক্ষ্য করুন যার অর্থ "বর্তমান ডিরেক্টরি", যেমন এটি স্ট্যান্ডার্ড cp
এর সাথে করে। অথবা mv
আদেশ আপনি যদি চান তবে আপনি সহজেই অন্য কিছু নির্দেশিকা নির্দিষ্ট করতে পারেন।
scp -r [email protected]:~/backups/ backups-from-server/
এবং ওয়াইল্ড কার্ডের সাথে একই:
scp [email protected]:~/backups/*.txz .
একটি দূরবর্তী সার্ভারে একটি ডিরেক্টরিকে পুনরাবৃত্তিমূলকভাবে অনুলিপি করতে, -r
ব্যবহার করুন বিকল্প:
scp -r backups/ [email protected]:~/backups/
এবং দূরবর্তী সার্ভার থেকে স্থানীয় মেশিনে একটি ডিরেক্টরির পুনরাবৃত্তিমূলক অনুলিপি করতে:
scp -r scp -r [email protected]:~/backups/ .
চেষ্টা করার জন্য অন্যান্য SCP কমান্ডগুলি
আরও অগ্রগতির জন্য, -C
নিয়ে পরীক্ষা করার চেষ্টা করুন বিকল্প, যা অনুলিপি বা -l
এর সময় কম্প্রেশন সক্ষম করে বিকল্প, যা অনুলিপি করার সময় ব্যান্ডউইথ সীমাবদ্ধ করে।
প্রতিবার পাসওয়ার্ড টাইপ না করে একটি ফাইল স্থানান্তর করতে, আপনি আপনার সার্ভারের সাথে সংযোগ করার জন্য একটি ব্যক্তিগত SSH কীও তৈরি করতে পারেন।