~/.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 دیکھیں۔