আপনি যদি যেকোনো পরিমাণ সময় Linux ব্যবহার করেন, তবে নিশ্চিতভাবেই SSH নামে একটি টুল সম্পর্কে শুনেছেন। Secure Shell, जिसे সাধারণত SSH নামে জানা যায়, একটি নেটওয়ার্ক প্রোটোকল যা ক্লায়েন্ট এবং রিমোট সার্ভারের মধ্যে সিকিউর কানেকশন স্থাপনের জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীদের নেটওয়ার্কের মাধ্যমে দূরবর্তীভাবে বিভিন্ন ধরনের কম্পিউটারে সুরক্ষিতভাবে লগইন করার অনুমতি দিতে ডিজাইন করা হয়েছে। এখানে আমরা আপনাকে দেখাবো কীভাবে SSH কী জেনারেট করে আপনার সার্ভারে কপি করতে হয়।
SSH ইনস্টল করা
শুরুতে, আমাদের SSH সার্ভার ইনস্টল করতে হবে। আপনি Software Center বা আপনার প্যাকেজ ম্যানেজারে openssh-server প্যাকেজ খুঁজে ইনস্টল করতে পারেন। অথবা, আপনি যদি সার্ভারে থাকেন (বা শুধু টার্মিনাল পছন্দ করেন), তবে একটি টার্মিনাল খুলুন এবং নিচের কমান্ড টাইপ করুন:
# Ubuntu/Debian sudo apt install openssh-server # Fedora/CentOS/REHL sudo dnf install openssh-server
Linux-এ SSH সক্রিয় করা
যখন আপনার মেশিনে OpenSSH সার্ভার ইনস্টল হয়ে যায়, তবে আপনাকে systemd ইউনিট শুরু ও সক্রিয় করতে হবে। সেটি করতে আপনি টার্মিনালে নিচের কমান্ড টাইপ করতে পারেন:
sudo systemctl enable --now ssh
SSH কী জেনারেট করা
openssh সার্ভার ইনস্টল হয়ে গেলে, আপনি SSH কী পেয়ার জেনারেট করা শুরু করতে পারেন। এগিয়ে যাওয়ার আগে, নিশ্চিত হন আপনার पास ইতিমধ্যে কোনো কী পেয়ার নেই, কারণ এই প্রসেস সেটি ওভাররাইট করবে।
আপনার কাছে ইতিমধ্যে কী পেয়ার আছে কিনা চেক করতে কমান্ড ব্যবহার করুন:
ls -la ~/.ssh
যদি আপনার কাছে ইতিমধ্যে কী পেয়ার থাকে, তবে উপরের কমান্ড id_rsa এবং id_rsa.pub ফাইলগুলো দেখাবে।
একবার ভেরিফাই হলে আপনার কাছে কোনো SSH কী পেয়ার নেই, তবে আপনি নতুন কী জেনারেট করতে পারেন। অন্যথায়, পুরনো কীগুলো ব্যাকআপ নিন যাতে না হারায়।
নতুন কী জেনারেট করতে কমান্ড ব্যবহার করুন:
ssh-keygen -t rsa -b 4096
উপরোক্ত কমান্ড ssh-keygen ইউটিলিটি আহ্বান করে ইন্টারঅ্যাক্টিভলি একটি SSH কী পেয়ার জেনারেট করতে। -t অপশন ব্যবহার করে আমরা জেনারেট করার কী টাইপ স্পেসিফাই করি। এই কেসে, আমরা RSA কী জেনারেট করছি।
আমরা -b অপশনও ব্যবহার করি কীতে বিট সংখ্যা স্পেসিফাই করতে। আপনি যদি RSA কী ব্যবহার করেন, তবে মিনিমাম বিট সাইজ ১০২৪। যদি স্পেসিফাই না করা থাকে, তবে এটি ৩০৭২ বিটের কী জেনারেট করবে।
SSH কী স্টোর করার জন্য ডিফল্ট লোকেশন ব্যবহার করা ভালো, যাতে SSH-তে কী ব্যবহার করে কানেক্ট করার সময় পাথ টাইপ করতে না হয়।
আপনি যদি পাসফ্রেজ দিয়ে কী এনক্রিপ্ট না করতে চান, তবে Enter চাপে স্কিপ করুন।
রিমোট সার্ভারে কী কপি করা
এখন আমাদের জেনারেট করা নতুন SSH কী পেয়ার রিমোট মেশিনে আপলোড করতে হবে जिसे আমরা ম্যানেজ করতে চাই।
সবচেয়ে কার্যকর পদ্ধতি হলো ssh-copy-id কমান্ড ব্যবহার করা। কমান্ডটি এইভাবে ব্যবহার করুন:
ssh-copy-id remote_user@remote_IP
আপনি যদি আলাদা ফাইলনেমের কীফাইল ব্যবহার করেন, তবে কীফাইলের পাথ স্পেসিফাই করতে নিচের কমান্ড ব্যবহার করুন:
ssh-copy-id -i ~/.ssh/id_rsa remote_user@remote_IP
আপনি যদি প্রথমবারের মতো রিমোট মেশিনে লগইন করেন, তবে ফিংগারপ্রিন্ট এক্সেপ্ট করতে হবে।
পরবর্তীতে, রিমোট ইউজারের SSH পাসওয়ার্ড দিন।
একবার অথেনটিকেশন হলে, ssh-copy-id কমান্ড আপনার id_rsa.pub কী-এর কন্টেন্ট রিমোট মেশিনের ~/.ssh/authorized_keys ফাইলে অ্যাপেন্ড করবে এবং কানেকশন বন্ধ করবে।
রিমোট মেশিনে লগইন করা
উপরের সব ধাপ সফলভাবে সম্পন্ন হলে, আপনি এখন পাসওয়ার্ড ছাড়া রিমোট সার্ভারে লগইন করতে পারবেন।
এটি টেস্ট করতে কমান্ড ব্যবহার করুন:
ssh remote_user@remote_ip
যদি আপনার কীতে পাসফ্রেজ সক্রিয় না থাকে, তবে আপনি অটোমেটিক্যালি লগইন করবেন।
প্রশ্নোত্তর
১. SSH কি সিকিউর?
SSH একটি পাওয়ারফুল সিকিউরিটি টুল যা অথেনটিকেশন করা ইউজারদের রিমোট সিস্টেমে লগইন করার অনুমতি দেয়। যাইহোক, এটি শুধু ততটুকু সিকিউর যতটুকু এর কনফিগারেশন ফাইল অনুমতি দেয়। একটি অকনফিগার্ড/মিসকনফিগার্ড SSH সার্ভার হ্যাকার ও থার্ড-পার্টি অ্যাক্সেসেরต่อ ঝুঁকিপূর্ণ হতে পারে। ইনস্টলেশনের ঠিক পরে SSH কনফিগারেশন সিকিউর করুন।
২. SSH authorized_keys কোথায় থাকে?
SSH authorized_keys ফাইল প্রতিটি ইউজারের পাবলিক কীফাইল ধারণ করে এবং স্পেসিফাই করে কোন ইউজাররা সার্ভারে লগইন করতে পারবে। Linux-এ, authorized_keys ফাইল সাধারণত ইউজারের হোম ডিরেক্টরির .ssh ফোল্ডারে থাকে।
৩. ssh-copy-id permission denied সমস্যা কীভাবে ফিক্স করব?
এটি শুধু তখন হয় যখন আপনার রিমোট সার্ভারে ইতিমধ্যে একটি পাবলিক কী সেটআপ থাকে এবং পাসওয়ার্ড অথেনটিকেশন ডিজেবল করা থাকে। এই সমস্যা ফিক্স করতে, প্রথমে আপনার সার্ভারে লগইন করুন, /etc/ssh/sshd_config ফাইলে পাসওয়ার্ড অথেনটিকেশন সক্রিয় করুন, তারপর আবার ssh-copy-id কমান্ড চালান।
নতুন কীফাইল কপি হয়ে গেলে, পাসওয়ার্ড অথেনটিকেশন অপশন আবার ডিজেবল করতে ভুলবেন না।
উপসংহার
এখন আপনি SSH সেটআপ এবং ব্যবহার করলেন, পরবর্তী কাজ হলো SSH কনফিগারেশন সিকিউর করা। অথবা, আপনি যদি Windows ব্যবহার করেন, তবে Windows-এ SSH কী পেয়ার জেনারেট করার পদ্ধতি শিখুন।