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