SSH के पासवर्ड अंदाज़े से पकड़े जाते हैं। कुंजियाँ नहीं। अपने VPS को कुंजी-आधारित लॉगिन पर ले जाना सबसे बड़ा एकल सुरक्षा अपग्रेड है, और इसमें लगभग पाँच मिनट लगते हैं।
SSH कुंजियाँ कैसे काम करती हैं
आप फ़ाइलों का एक जोड़ा बनाते हैं। प्राइवेट कुंजी आपके कंप्यूटर पर रहती है और कभी साझा नहीं की जाती। पब्लिक कुंजी सर्वर पर जाती है। जब आप कनेक्ट करते हैं, तो सर्वर आपके कंप्यूटर को चुनौती देता है कि वह मेल खाती प्राइवेट कुंजी रखने का प्रमाण दे, और कुंजी कभी नेटवर्क पर नहीं जाती।
1. कुंजी जोड़ा बनाएँ
ssh-keygen -t ed25519 -C "me@laptop"
Ed25519 कुंजियाँ छोटी, तेज़ और आधुनिक हैं। पूछे जाने पर पासफ़्रेज़ चुनें, ताकि चोरी हुए लैपटॉप का मतलब चोरी हुआ सर्वर न हो। Windows 10 और 11 पर यही कमांड PowerShell में काम करता है।
2. पब्लिक कुंजी को सर्वर पर कॉपी करें
ssh-copy-id user@your.server.ip
ssh-copy-id के बिना, ~/.ssh/id_ed25519.pub की सामग्री को सर्वर पर ~/.ssh/authorized_keys में जोड़ें, फिर chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys चलाएँ।
3. पासवर्ड बंद करने से पहले टेस्ट करें
एक दूसरा टर्मिनल खोलें और कुंजी से लॉगिन करें। जब तक यह काम न करे, अपना पहला सेशन खुला रखें, ताकि कोई ग़लती आपको बाहर लॉक न कर दे।
4. पासवर्ड लॉगिन बंद करें
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
sudo sshd -t && sudo systemctl reload ssh
sshd -t जाँच टाइपो को आपकी एक्सेस टूटने से पहले पकड़ लेती है। कुछ सिस्टम पर सर्विस का नाम sshd होता है, ssh नहीं।
5. एक सुव्यवस्थित क्लाइंट कॉन्फ़िग
# ~/.ssh/config
Host myvps
HostName your.server.ip
User deploy
IdentityFile ~/.ssh/id_ed25519
अब आपको सिर्फ़ ssh myvps टाइप करना होगा।
अच्छी आदतें
- हर डिवाइस के लिए अलग कुंजी इस्तेमाल करें, ताकि आप बाक़ी को छुए बिना एक को रद्द कर सकें।
ssh-agentइस्तेमाल करें ताकि आप हर सेशन में पासफ़्रेज़ सिर्फ़ एक बार डालें।- जब कोई डिवाइस खो जाए या कोई कर्मचारी चला जाए, तो
authorized_keysसे कुंजियाँ हटा दें। - लॉग का शोर घटाने के लिए fail2ban जोड़ें, जैसा हमारी 15 मिनट की सुरक्षा चेकलिस्ट में है।