Server Hardening: Hardening VPS Access with Secure SSH Key-Based Auth
ডিফল্ট পাসওয়ার্ড সিস্টেম ব্যবহার করে লিনাক্স সার্ভারে লগইন করা অত্যন্ত ঝুঁকিপূর্ণ। ইন্টারনেটে প্রতিনিয়ত কোটি কোটি অটোমেটেড বট ঘুরে বেড়ায়, যা আপনার আইপি অ্যাড্রেস লক্ষ্য করে অনবরত ব্রুট-ফোর্স বা ডিকশনারি অ্যাটাক (Brute-Force Attack) চালাতে থাকে। এই ঝুঁকি জিরো পারসেন্টে নামিয়ে আনার সবচেয়ে ভালো উপায় হলো পাসওয়ার্ড লগইন সম্পূর্ণ বন্ধ করে **Cryptographic SSH Key-Based Authentication** ব্যবহার করা।
এসএসএইচ কি পেয়ার মূলত দুটি চাবির ওপর কাজ করে: একটি পাবলিক কি (যা সার্ভারে থাকবে) এবং একটি প্রাইভেট কি (যা শুধুমাত্র আপনার অ্যান্ড্রয়েড ফোন বা টার্মাক্স লোকাল স্টোরেজে থাকবে)।
১. হাই-সিকিউরিটি ক্রিপ্টোগ্রাফিক কি জেনারেট করা
বর্তমান সময়ে সবচেয়ে সিকিউর এবং লাইটওয়েট অ্যালগরিদম হলো **ED25519**। আপনার টার্মাক্স কন্সোল বা লোকাল মেশিনে নিচের কমান্ডটি দিয়ে চাবি জেনারেট করুন:
ssh-keygen -t ed25519 -C "ahyan_key_vps"
কমান্ডটি দেওয়ার পর ফাইলের লোকেশন সেট করতে এবং একটি সিক্রেট পাসফ্রেস (Passphrase) দিতে বলবে, যা আপনি স্কিপ করতে চাইলে সরাসরি এন্টার প্রেস করতে পারেন।
ধাপ ২: পাবলিক কি সার্ভারে আপলোড বা ইনজেক্ট করা
তৈরি হওয়া পাবলিক কি-টি আপনার টার্গেট রিমোট সার্ভারে কপি করার প্রফেশনাল কমান্ড:
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@your-server-ip
যদি এটি কাজ না করে, তবে ম্যানুয়ালি ~/.ssh/id_ed25519.pub এর ভেতরের টেক্সট কোডটি কপি করে সার্ভারের ~/.ssh/authorized_keys ফাইলের ভেতর পেস্ট করে দিলেও একই কাজ হবে।
ধাপ ৩: পাসওয়ার্ড লগইন সম্পূর্ণ বন্ধ করা (Hardening)
কি দিয়ে সার্ভারে সাকসেসফুলি লগইন করার পর, মূল পাসওয়ার্ড সিস্টেম অফ করার জন্য সার্ভারের ভেতরে গিয়ে নিচের কনফিগারেশন ফাইলটি এডিট করুন:
sudo nano /etc/ssh/sshd_config
ফাইলের ভেতর নিচের লাইনগুলো খুঁজে বের করে মানগুলো পরিবর্তন করে দিন:
# পাসওয়ার্ড অথেনটিকেশন নো করা
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin yes # (অথবা সুরক্ষার জন্য 'prohibit-password' করতে পারেন)
ফাইলটি সেভ (Ctrl+O, তারপর Enter এবং Ctrl+X) করে বের হয়ে এসএসএইচ ডেমন রিস্টার্ট দিন:
sudo systemctl restart sshd
ক্রিটিক্যাল ওয়ার্নিং: পাসওয়ার্ড লগইন বন্ধ করার পর বর্তমান সেশনটি ডিসকানেক্ট করবেন না! প্রথমে আরেকটি নতুন টার্মিনাল ট্যাব ওপেন করে কি (Key) দিয়ে সফলভাবে লগইন করা যাচ্ছে কিনা তা নিশ্চিত হয়ে নিন। যদি সবকিছু ঠিক থাকে, তবেই আগের সেশন ক্লোজ করুন।