~/.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।