ملف ~/.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 (المسار نفسه ~/.ssh/config في Windows Terminal). قد لا يكون الملف موجودًا — أنشئه:
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.