लगभग हर नया VPS एक जैसे शुरू होता है: आप root के रूप में लॉगिन करते हैं, कुछ चीज़ें इंस्टॉल करते हैं, और एक महीने बाद भी root ही होते हैं। यह तब तक चलता है जब तक कोई पेस्ट किया हुआ स्क्रिप्ट ग़लत फ़ोल्डर न मिटा दे। sudo के साथ सामान्य यूज़र सेट करने में पाँच मिनट लगते हैं, और क्रम कमांड से ज़्यादा मायने रखता है — क्रम गड़बड़ हुआ तो आप ख़ुद को बाहर लॉक कर देंगे।
Ubuntu 22.04/24.04 और Debian 12 के लिए सुरक्षित क्रम यह है।
1. यूज़र बनाएँ
root के रूप में:
adduser deploy
usermod -aG sudo deploy
adduser पासवर्ड और कुछ वैकल्पिक जानकारी माँगता है (उन पर बस Enter दबाएँ)। असली पासवर्ड चुनें: आप इसे sudo के लिए टाइप करेंगे। Debian की मिनिमल इमेज पर अगर कमांड न हो तो पहले apt install -y sudo चलाएँ।
2. उसे अपनी SSH कुंजी दें
सबसे आसान तरीक़ा है root की अधिकृत कुंजियाँ सही स्वामित्व के साथ कॉपी करना:
rsync --archive --chown=deploy:deploy /root/.ssh /home/deploy
अगर आप हाथ से करना चाहें:
mkdir -p /home/deploy/.ssh
cp /root/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys
ग़लत अनुमतियाँ वह क्लासिक वजह हैं जिससे कुंजी वाला लॉगिन चुपचाप फ़ेल होता है। SSH ऐसी authorized_keys फ़ाइल को अनदेखा करता है जिसमें दूसरे यूज़र लिख सकें।
3. कुछ बदलने से पहले जाँचें
root सेशन खुला रखें। एक नए टर्मिनल में:
ssh -p 22 deploy@203.0.113.10
sudo whoami
अपना IP और पोर्ट इस्तेमाल करें — NAT प्लान पर यह डैशबोर्ड वाला निजी SSH पोर्ट है। अगर sudo whoami ने root छापा, तो सब ठीक है। अगर लॉगिन फ़ेल हो, तो ठीक करने के लिए root वाली विंडो अभी आपके पास है।
4. root लॉगिन बंद करें
अब दरवाज़ा बंद करें। मुख्य कॉन्फ़िग बदलने के बजाय एक छोटी drop-in फ़ाइल बनाएँ:
cat > /etc/ssh/sshd_config.d/10-hardening.conf <<'EOF'
PermitRootLogin no
PasswordAuthentication no
EOF
sshd -t && systemctl reload ssh
sshd -t पहले सिंटैक्स जाँचता है। टूटी कॉन्फ़िग और फिर reload — यही रास्ता लोगों को कंसोल तक ले जाता है। PasswordAuthentication no तभी समझदारी है जब नए यूज़र के लिए कुंजी वाला लॉगिन काम कर रहा हो — जो आपने अभी जाँचा।
एक और टर्मिनल खोलें और पक्का करें कि root मना हो रहा है और deploy अब भी अंदर जा रहा है। फिर पुराना root सेशन बंद करें।
5. वैकल्पिक: ऑटोमेशन के लिए बिना पासवर्ड का sudo
अगर किसी डिप्लॉय स्क्रिप्ट को बिना पूछे sudo चाहिए, तो उसे ठीक उतना ही दें, उससे ज़्यादा नहीं:
visudo -f /etc/sudoers.d/deploy
deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart myapp
सच कहें तो NOPASSWD: ALL लुभाता है, लेकिन इसका मतलब है कि चोरी हुई कुंजी root के बराबर है। इसे उन्हीं कमांड तक सीमित रखें जो ऑटोमेशन चलाता है।
अगर कुछ गड़बड़ हो जाए
डैशबोर्ड का वेब कंसोल न SSH पर निर्भर है न फ़ायरवॉल पर। वहाँ से लॉगिन करें, /etc/ssh/sshd_config.d/ वाली फ़ाइल ठीक करें, reload करें, बस। पूरा रिकवरी तरीक़ा हमने लॉक हो चुके VPS में वापस कैसे जाएँ में लिखा है।
आगे क्या करें
- सही मायने में सिर्फ़ कुंजी वाले लॉगिन पर जाएँ: SSH कुंजी से प्रमाणीकरण।
- brute force कोशिशों का शोर कम करें: fail2ban।
- बाक़ी बुनियादी चीज़ें नए VPS की सुरक्षा चेकलिस्ट से पूरी करें।
हर प्लान के एक्सेस विकल्प एक्सेस दस्तावेज़ में हैं। $3 वाला Nano भी बिना root वाले यूज़र का हक़दार है — यह सबसे सस्ता सुरक्षा अपग्रेड है।
टिप्पणियाँ
अभी तक कोई टिप्पणी नहीं। पहले बनें।