Skip to content
VDS · मशीन एक्सेस

~/.ssh/config फ़ाइल: लंबी कमांड की जगह छोटे नाम

मशीन को एक बार कैसे डिस्क्राइब करें और दो शब्दों की कमांड से जुड़ें, की, यूज़र, पोर्ट सेट करें, और कनेक्शन जीवित रखें।

23 अगस्त 2026 को अपडेट किया गया

ssh -i ~/.ssh/id_ed25519 -p 22 root@203.0.113.10 की जगह आप ssh vds टाइप कर सकते हैं। इसे आप अपने कंप्यूटर पर एक बार सेट करते हैं।

फ़ाइल कहाँ रहती है

macOS और Linux पर यह ~/.ssh/config होती है। Windows पर C:\Users\<you>\.ssh\config (Windows Terminal में वही ~/.ssh/config पाथ)। फ़ाइल मौजूद न भी हो — तो बना लें:

mkdir -p ~/.ssh
nano ~/.ssh/config
chmod 600 ~/.ssh/config

परमिशन मायने रखती हैं: अगर फ़ाइल सबके लिए पढ़ने योग्य है, तो क्लाइंट उसे पढ़ने से मना कर सकता है।

न्यूनतम एंट्री

Host vds
    HostName 203.0.113.10
    User root
    IdentityFile ~/.ssh/id_ed25519

अब यह काम करता है:

ssh vds

बाकी टूल्स भी यह शॉर्ट नाम उठा लेते हैं:

scp dump.sql vds:/root/
sftp vds
rsync -avz ./site/ vds:/var/www/site/

फ़ाइलें कॉपी करने के लिए देखें scp और rsync और SFTP।

काम के पैरामीटर

Host vds
    HostName 203.0.113.10
    User artem
    Port 22
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
    ServerAliveInterval 30
    ServerAliveCountMax 3
पैरामीटरआपको इसकी ज़रूरत क्यों है
IdentitiesOnly yesक्लाइंट सिर्फ़ बताई गई की पेश करता है। जब आपके पास बहुत सारी कीज़ हों और सर्वर अटेम्प्ट काट दे, तब यह बचाता है
ServerAliveIntervalहर 30 सेकंड में एक पैकेट भेजता है ताकि इनैक्टिविटी से कनेक्शन न टूटे
Portअगर आपने SSH को नॉन-स्टैंडर्ड पोर्ट पर शिफ़्ट किया है
Userइस होस्ट के लिए डिफ़ॉल्ट यूज़रनेम

कई मशीनें

Host vds-web
    HostName 203.0.113.10
    User root
    IdentityFile ~/.ssh/id_ed25519

Host vds-db
    HostName 203.0.113.20
    User artem
    IdentityFile ~/.ssh/id_ed25519

Host *
    ServerAliveInterval 30

Host * ब्लॉक सभी एंट्रीज़ के लिए साझा सेटिंग्स तय करता है। क्रम मायने रखता है: हर पैरामीटर के लिए पहला मैच जीतता है, इसलिए साझा ब्लॉक सबसे नीचे रखें।

आम गलतियाँ

  • टैब इंडेंटेशन और लाइन के आख़िर में स्पेस — कुछ क्लाइंट इस पर शिकायत करते हैं। चार स्पेस इस्तेमाल करें।
  • Windows पर बैकस्लैश वाला की पाथ — ~/.ssh/id_ed25519 लिखें।
  • HostName गायब — तब क्लाइंट vds नाम के होस्ट से कनेक्ट करने की कोशिश करेगा और उसे नहीं ढूँढ पाएगा।
  • फ़ाइल पर 644 परमिशन — इन्हें 600 कर दें।

किसी होस्ट पर असल में क्या लागू हो रहा है, यह देखने के लिए:

ssh -G vds
ssh -v vds

पहला कमांड नतीजे में मिलने वाले पैरामीटर प्रिंट करता है, दूसरा कनेक्शन की प्रोग्रेस दिखाता है — इससे पता चलता है कि कौन सी की पेश की गई।

config फ़ाइल सिर्फ़ आपकी तरफ़ का ब्यौरा देती है। मशीन क्या स्वीकार करती है, यह उसकी /etc/ssh/sshd_config तय करती है, देखें SSH keys।