table of contents
- trixie-backports 4.31.0-1~bpo13+1
- testing 4.31.0-1
- unstable 4.31.0-1
| SSH_CONFIG(5) | File Formats Manual | SSH_CONFIG(5) |
الاسم¶
ssh_config —
ملف ضبط
عميل OpenSSH
الوصف¶
يحصل ssh(1) على بيانات الضبط من المصادر التالية بالترتيب التالي:
- خيارات سطر الأوامر
- ملف ضبط المستخدم (~/.ssh/config)
- ملف ضبط النظام العام (/etc/ssh/ssh_config)
ما لم يذكر
خلاف ذلك،
ستُستخدم
أول قيمة
يُحصل
عليها لكل
معلمة.
تحتوي
ملفات
الضبط على
أقسام تفصل
بينها
مواصفات
Host ، ولا
يُطبق هذا
القسم إلا
على
المضيفين
الذين
يطابقون
أحد
الأنماط
الواردة في
المواصفة.
عادة ما
يكون اسم
المضيف
المطابق هو
الاسم
المذكور في
سطر
الأوامر
(راجع خيار
CanonicalizeHostname
للاستثناءات).
نظراً لأن القيمة الأولى التي يُحصل عليها لكل معلمة هي التي تُستخدم، ينبغي وضع الإعلانات الأكثر تخصيصاً للمضيف بالقرب من بداية الملف، والمقادير المبدئية العامة في النهاية.
لاحظ أن
حزمة دبيان
openssh-client تضبط
عدة خيارات
بشكل قياسي
في /etc/ssh/ssh_config
والتي لا
تعد مبدئية
في ssh(1):
Include /etc/ssh/ssh_config.d/*.confSendEnvLANG LC_* COLORTERM NO_COLORHashKnownHostsyesGSSAPIAuthenticationyes
تُضمّن ملفات /etc/ssh/ssh_config.d/*.conf في بداية ملف الإعداد الشامل للنظام، لذا فإن الخيارات المضبوطة هناك ستتجاوز تلك الموجودة في /etc/ssh/ssh_config.
يحتوي
الملف على
أزواج من
(الكلمة
المفتاحية-المعطى)،
بمعدل زوج
واحد لكل
سطر. تُفسر
الأسطر
التي تبدأ
بعلامة
‘#’
والأسطر
الفارغة
على أنها
تعليقات.
يمكن
اختيارياً
إحاطة
المعطيات
بعلامات
اقتباس
مزدوجة (")
لتمثيل
المعطيات
التي تحتوي
على مسافات.
يمكن الفصل
بين خيارات
الضبط
بمسافة
بيضاء أو
مسافة
بيضاء
اختيارية
وعلامة
‘=’
واحدة
بالضبط؛
وتعد
الصيغة
الأخيرة
مفيدة
لتجنب
الحاجة إلى
اقتباس
المسافات
البيضاء
عند تحديد
خيارات
الضبط
باستخدام
خيار -o في
ssh و scp و
sftp.
الكلمات المفتاحية الممكنة ومعانيها هي كما يلي (لاحظ أن الكلمات المفتاحية غير حساسة لحالة الأحرف والوسائط حساسة لها):
Host- يقصر
الإعلانات
التالية
(حتى الكلمة
المفتاحية
التالية
HostأوMatch) لتكون فقط لهؤلاء المضيفين الذين يطابقون أحد الأنماط الواردة بعد الكلمة المفتاحية. إذا وُفر أكثر من نمط واحد، فينبغي الفصل بينهم بمسافة بيضاء. يمكن استخدام علامة ‘*’ واحدة كنمط لتوفير مقادير مبدئية عامة لجميع المضيفين. عادة ما يكون المضيف هو معطى hostname المذكور في سطر الأوامر (راجع الكلمة المفتاحيةCanonicalizeHostnameللاستثناءات).يمكن نفي مدخلة النمط بسبقها بعلامة تعجب (‘!’). إذا طوبقت مدخلة منفيّة، فستُتجاهل مدخلة
Host، بغض النظر عما إذا كانت هناك أي أنماط أخرى على السطر تطابقها. وبناءً على ذلك، فإن المطابقات المنفية مفيدة لتوفير استثناءات لمطابقات المحارف البديلة.راجع PATTERNS لمزيد من المعلومات حول الأنماط.
Match- يقصر
استخدام
الإعلانات
التالية
(حتى الكلمة
المفتاحية
التالية
HostأوMatch) ليُعمل بها فقط عند استيفاء الشروط التي تلي الكلمة المفتاحيةMatch. تُحدد شروط المطابقة باستخدام معيار واحد أو أكثر أو الرمز الوحيدallالذي يطابق دائماً. الكلمات المفتاحية للمعاير المتاحة هي:canonicalوfinalوexecوlocalnetworkوhostوoriginalhostوtaggedوcommandوuserوlocaluserوversion. يجب أن يظهر المعيارallبمفرده أو مباشرة بعدcanonicalأوfinal. يمكن دمج المعايير الأخرى عشوائياً. تتطلب جميع المعايير باستثناءallوcanonicalوfinalمعطىً. يمكن نفي المعايير بسبقها بعلامة تعجب (‘!’).تطابق الكلمة المفتاحية
canonicalفقط عندما يُعاد تحليل ملف الضبط بعد توحيد اسم المضيف (راجع خيارCanonicalizeHostname). قد يكون هذا مفيداً لتحديد الشروط التي تعمل مع أسماء المضيفين الموحدة فقط.تطلب الكلمة المفتاحية
finalإعادة تحليل الضبط (بغض النظر عما إذا كانCanonicalizeHostnameمفعلاً)، وتطابق فقط خلال هذا الممر النهائي. إذا كانCanonicalizeHostnameمفعلاً، فإنcanonicalوfinalيطابقان خلال الممر نفسه.تنفذ الكلمة المفتاحية
execالأمر المحدد تحت صدفة المستخدم. إذا أعاد الأمر حالة خروج صفرية، فيُعتبر الشرط صحيحاً. يجب اقتباس الأوامر التي تحتوي على محارف مسافات بيضاء. تقبل معطياتexecالرموز الموصوفة في قسم TOKENS.تطابق الكلمة المفتاحية
localnetworkعناوين واجهات الشبكة المحلية النشطة مع قائمة الشبكات الموفرة بصيغة CIDR. قد يكون هذا مناسباً لتغيير الضبط الفعال على الأجهزة التي تتجول بين الشبكات. لاحظ أن عنوان الشبكة ليس معياراً جديراً بالثقة في مواقف عديدة (على سبيل المثال عندما تُضبط الشبكة آلياً باستخدام DHCP) ولهذا ينبغي توخي الحذر إذا استخدم للتحكم في الضبط الحساس أمنياً.يجب أن تكون معايير الكلمات المفتاحية الأخرى مدخلات فردية أو قوائم مفصولة بفاصلة، ويمكنها استخدام معامِلات المحارف البديلة والنفي الموصوفة في قسم PATTERNS.
تُطابق معايير الكلمة المفتاحية
hostمع اسم مضيف الهدف، بعد أي استبدال بواسطة خياراتHostnameأوCanonicalizeHostname. تطابق الكلمة المفتاحيةoriginalhostاسم المضيف كما حُدد في سطر الأوامر.تطابق الكلمة المفتاحية
taggedاسم وسم حُدد بواسطة توجيهTagسابق أو في سطر أوامر ssh(1) باستخدام علم-P. تطابق الكلمة المفتاحيةcommandالأمر البعيد الذي طُلب، أو اسم النظام الفرعي الذي يُستدعى (مثل "sftp" لجلسة SFTP). ستطابق السلسلة الفارغة الحالة التي لم يُحدد فيها أمر أو وسم، أي ‘Match tag ""’. تطابق الكلمة المفتاحيةversionسلسلة الإصدار لـ ssh(1) ، على سبيل المثال “OpenSSH_10.0”.تطابق الكلمة المفتاحية
userاسم مستخدم الهدف على المضيف البعيد. تطابق الكلمة المفتاحيةlocaluserاسم المستخدم المحلي الذي يشغل ssh(1) (قد تكون هذه الكلمة المفتاحية مفيدة في ملفاتssh_configالعامة للنظام).أخيراً، تطابق الكلمة المفتاحية
sessiontypeنوع الجلسة المطلوبة، والتي قد تكون أحد الأنواع التالية:shellللجلسات التفاعلية، أوexecلجلسات تنفيذ الأوامر، أوsubsystemلاستدعاءات النظام الفرعي مثل sftp(1) ، أوnoneلجلسات النقل فقط، مثلما هو الحال عندما يُبدأ ssh(1) مع علم-N. AddKeysToAgent- يحدد ما إذا
كان ينبغي
إضافة
المفاتيح
آلياً إلى
ssh-agent(1) قيد
التشغيل.
إذا ضُبط
هذا الخيار
على
yesوحُمّل مفتاح من ملف، فسيُضاف المفتاح وعبارة مروره إلى الوكيل مع عمر افتراضي مبدئي، كما لو كان ذلك بواسطة ssh-add(1). إذا ضُبط هذا الخيار علىask، فسيطلب ssh(1) تأكيداً باستخدام برنامجSSH_ASKPASSقبل إضافة مفتاح (راجع ssh-add(1) للتفاصيل). إذا ضُبط هذا الخيار علىconfirm، فيجب تأكيد كل استخدام للمفتاح، كما لو كان خيار-cقد حُدد لـ ssh-add(1). إذا ضُبط هذا الخيار علىno، فلن تُضاف أي مفاتيح إلى الوكيل. بدلاً من ذلك، يمكن تحديد هذا الخيار كفاصل زمني باستخدام الصيغة الموصوفة في قسم TIME FORMATS في sshd_config(5) لتحديد عمر المفتاح في ssh-agent(1) ، والذي سيُزال آلياً بعد انقضائه. يجب أن يكون المعطىno(المبدئي)، أوyes، أوconfirm(متبوعاً اختيارياً بفاصل زمني)، أوaskأو فاصلاً زمنياً. AddressFamily- يحدد عائلة
العناوين
المراد
استخدامها
عند
الاتصال.
المعطيات
الصالحة هي
any(المبدئي)، أوinet(استخدام IPv4 فقط)، أوinet6(استخدام IPv6 فقط). BatchMode- إذا ضُبط
على
yes، فستُعطل التفاعلات مع المستخدم مثل مطالبات كلمة المرور وطلبات تأكيد مفتاح المضيف. بالإضافة إلى ذلك، سيُضبط خيارServerAliveIntervalعلى 300 ثانية بشكل مبدئي (خاص بدبيان). هذا الخيار مفيد في السكربتات والمهام الدفعية الأخرى حيث لا يوجد مستخدم للتفاعل مع ssh(1) ، وحيث يُرغب في اكتشاف الشبكة المعطلة بسرعة. يجب أن يكون المعطىyesأوno(المبدئي). BindAddress- استخدام العنوان المحدد على الجهاز المحلي كعنوان مصدر للاتصال. مفيد فقط على الأنظمة التي تحتوي على أكثر من عنوان واحد.
BindInterface- استخدام عنوان الواجهة المحددة على الجهاز المحلي كعنوان مصدر للاتصال.
CanonicalDomains- عند تفعيل
CanonicalizeHostname، يحدد هذا الخيار قائمة لاحقات النطاق التي يجب البحث فيها عن مضيف الوجهة المحدد. CanonicalizeFallbackLocal- يحدد ما إذا
كان ينبغي
الفشل مع
إظهار خطأ
عند فشل
توحيد اسم
المضيف.
القيمة
المبدئية،
yes، ستحاول البحث عن اسم المضيف غير المؤهل باستخدام قواعد بحث محلل النظام. ستؤدي القيمةnoإلى فشل ssh(1) فوراً إذا كانCanonicalizeHostnameمفعلاً ولم يكن من الممكن العثور على اسم المضيف المستهدف في أي من النطاقات المحددة بواسطةCanonicalDomains. CanonicalizeHostname- يتحكم في ما
إذا كان
سيُجرى
توحيد صريح
لاسم
المضيف.
القيمة
المبدئية،
no، تعني عدم إجراء أي إعادة كتابة للاسم وترك محلل النظام ليتعامل مع جميع عمليات البحث عن أسماء المضيفين. إذا ضُبط علىyes، فبالنسبة للاتصالات التي لا تستخدمProxyCommandأوProxyJump، سيحاول ssh(1) توحيد اسم المضيف المحدد في سطر الأوامر باستخدام لاحقاتCanonicalDomainsوقواعدCanonicalizePermittedCNAMEs. إذا ضُبطCanonicalizeHostnameعلىalways، فسيُطبق التوحيد على الاتصالات الوكيلة أيضًا.إذا فُعّل هذا الخيار، فستُعالج ملفات الضبط مجدداً باستخدام اسم الهدف الجديد لالتقاط أي ضبط جديد في فقرات
HostوMatchالمطابقة. القيمةnoneتُعطل استخدام مضيفProxyJump. CanonicalizeMaxDots- يحدد الحد الأقصى لعدد محارف النقطة في اسم المضيف قبل تعطيل التوحيد. القيمة المبدئية هي 1، وتسمح بنقطة واحدة (أي hostname.subdomain).
CanonicalizePermittedCNAMEs- يحدد
القواعد
لتحديد ما
إذا كان
ينبغي تتبع
أسماء CNAME عند
توحيد
أسماء
المضيفين.
تتكون
القواعد من
معطى واحد
أو أكثر
بصيغة
source_domain_list:target_domain_list
، حيث source_domain_list
هي قائمة
أنماط
للنطاقات
التي قد
تتتبع
أسماء CNAME في
التوحيد، و
target_domain_list هي
قائمة
أنماط
للنطاقات
التي قد
تُحل إليها.
على سبيل المثال، ستسمح العبارة "*.a.example.com:*.b.example.com,*.c.example.com" بتوحيد أسماء المضيفين التي تطابق "*.a.example.com" إلى أسماء في نطاقات "*.b.example.com" أو "*.c.example.com".
يؤدي تقديم معطى واحد بقيمة "none" إلى عدم مراعاة أي أسماء CNAME لتوحيد الأسماء. هذا هو السلوك المبدئي.
CASignatureAlgorithms- يحدد
الخوارزميات
المسموح
بها لتوقيع
الشهادات
من قبل
سلطات
التصديق (CAs).
المبدئي هو:
ssh-ed25519,ecdsa-sha2-nistp256, ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, sk-ssh-ed25519@openssh.com, sk-ecdsa-sha2-nistp256@openssh.com, rsa-sha2-512,rsa-sha2-256
إذا بدأت القائمة المحددة بمحرف ‘+’ ، فسَيُلحَق الخوارزميات المحددة بالمجموعة المبدئية بدلاً من استبدالها. وإذا بدأت القائمة المحددة بمحرف ‘-’ ، فسَتُزَال الخوارزميات المحددة (بما في ذلك الرموز العامة) من المجموعة المبدئية بدلاً من استبدالها.
لن يقبل ssh(1) شهادات المضيف الموقعة باستخدام خوارزميات أخرى غير تلك المحددة.
CertificateFile- يحدد ملفاً
تُقرأ منه
شهادة
المستخدم.
يجب توفير
مفتاح خاص
مطابق بشكل
منفصل
لاستخدام
هذه
الشهادة
إما من
توجيه
IdentityFileأو علم-iلـ ssh(1) ، أو عبر ssh-agent(1) ، أو عبرPKCS11ProviderأوSecurityKeyProvider.قد تستخدم معطيات
CertificateFileصيغة المداة (tilde) للإشارة إلى الدليل المنزلي للمستخدم، والرموز الموصوفة في قسم TOKENS ومتغيرات البيئة كما هي موصوفة في قسم ENVIRONMENT VARIABLES.من الممكن تحديد ملفات شهادات متعددة في ملفات الضبط؛ ستُجرب هذه الشهادات بالتسلسل. ستؤدي توجيهات
CertificateFileالمتعددة إلى الإضافة إلى قائمة الشهادات المستخدمة للاستيثاق. ChannelTimeout- يحدد ما إذا
كان ينبغي
لـ ssh(1)
إغلاق
القنوات
غير النشطة
ومدى سرعة
ذلك. تُحدد
المهلات
كأزواج
واحد أو
أكثر من
صيغة “type=interval”
تفصل بينها
مساحات
بيضاء، حيث
يجب أن تكون
“type” هي
الكلمة
المفتاحية
الخاصة “global”
أو اسم نوع
قناة من
القائمة
أدناه،
محتوية
اختيارياً
على محارف
بديلة.
تحدد قيمة المهلة “interval” بالثواني أو قد تستخدم أيًا من الوحدات الموثقة في قسم TIME FORMATS. على سبيل المثال، سيؤدي “session=5m” إلى إنهاء الجلسات التفاعلية بعد خمس دقائق من عدم النشاط. تحديد قيمة صفرية يعطل مهلة عدم النشاط.
تنطبق المهلة الخاصة “global” على جميع القنوات النشطة مجتمعة. حركة السر على أي قناة نشطة ستعيد ضبط المهلة، ولكن عندما تنتهي المهلة فستُغلق جميع القنوات المفتوحة. لاحظ أن هذه المهلة العامة لا تُطابقها الرموز البديلة ويجب تحديدها صراحة.
تتضمن أسماء أنواع القنوات المتاحة:
agent-connection- فتح اتصالات بـ ssh-agent(1).
direct-tcpip,direct-streamlocal@openssh.com- فتح
اتصالات
مقبس TCP أو Unix
(على
التوالي)
التي
أُنشِئَت
من توجيه
محلي لـ
ssh(1) ، أي
LocalForwardأوDynamicForward. forwarded-tcpip,forwarded-streamlocal@openssh.com- تفتح
اتصالات
مقبس TCP أو Unix
(على
التوالي)
التي
أُنشِئَت
إلى sshd(8)
الذي
يستمع
نيابة عن
توجيه
بعيد لـ
ssh(1) ، أي
RemoteForward. session- جلسة العمل الرئيسة التفاعلية، بما في ذلك جلسة الصدفة، وتنفيذ الأوامر، و scp(1) ، و sftp(1) ، وما إلى ذلك.
tun-connection- فتح
اتصالات
TunnelForward. x11-connection- فتح جلسات توجيه X11.
لاحظ أنه في جميع الحالات المذكورة أعلاه، فإن إنهاء جلسة غير نشطة لا يضمن إزالة جميع الموارد المرتبطة بالجلسة، على سبيل المثال عمليات الصدفة أو عملاء X11 المتعلقين بالجلسة قد يستمرون في العمل.
علاوة على ذلك، فإن إنهاء قناة أو جلسة غير نشطة لا يغلق بالضرورة اتصال SSH، ولا يمنع العميل من طلب قناة أخرى من نفس النوع. وبشكل خاص، فإن انتهاء صلاحية جلسة توجيه غير نشطة لا يمنع إنشاء توجيه آخر مماثل لاحقًا.
المبدئي هو عدم إنهاء صلاحية القنوات من أي نوع بسبب عدم النشاط.
CheckHostIP- إذا ضُبط
على
yes، فسيتحقق ssh(1) بالإضافة إلى ذلك من عنوان IP للمضيف في ملف known_hosts. يتيح له هذا اكتشاف ما إذا كان مفتاح المضيف قد تغير بسبب تزوير DNS وسيقوم بإضافة عناوين المضيفين الوجهة إلى ~/.ssh/known_hosts أثناء العملية، بغض النظر عن ضبطStrictHostKeyChecking. إذا ضُبط الخيار علىno(المبدئي)، فلن يُنفذ الفحص. Ciphers- يحدد
التعميات
المسموح
بها وترتيب
تفضيلها.
يجب الفصل
بين
التعميات
المتعددة
بفاصلة. إذا
بدأت
القائمة
المحددة
بمحرف ‘+’ ،
فستُلحق
التعميات
المحددة
بالمجموعة
المبدئية
بدلاً من
استبدالها.
إذا بدأت
القائمة
المحددة
بمحرف ‘-’ ،
فستُزال
التعميات
المحددة
(بما في ذلك
المحارف
البديلة) من
المجموعة
المبدئية
بدلاً من
استبدالها.
إذا بدأت
القائمة
المحددة
بمحرف ‘^’ ،
فستوضع
التعميات
المحددة في
رأس
المجموعة
المبدئية.
المعميات المدعومة هي:
3des-cbc aes128-cbc aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com chacha20-poly1305@openssh.com
المبدئي هو:
chacha20-poly1305@openssh.com, aes128-gcm@openssh.com,aes256-gcm@openssh.com, aes128-ctr,aes192-ctr,aes256-ctr
يمكن أيضًا الحصول على قائمة التعميات المتاحة باستخدام "ssh -Q cipher".
ClearAllForwardings- يحدد مسح
جميع
توجيهات
المنافذ
المحلية
والبعيدة
والديناميكية
المحددة في
ملفات
الضبط أو في
سطر
الأوامر.
يعد هذا
الخيار
مفيداً في
المقام
الأول عند
استخدامه
من سطر
أوامر ssh(1)
لمسح
توجيهات
المنافذ
المحددة في
ملفات
الضبط،
ويُضبط
آلياً
بواسطة scp(1)
و sftp(1). يجب
أن يكون
المعطى
yesأوno(المبدئي). Compression- يحدد ما إذا
كان يجب
استخدام
الضغط. يجب
أن يكون
المعطى
yesأوno(المبدئي). ConnectionAttempts- يحدد عدد المحاولات (محاولة واحدة في الثانية) التي يجب إجراؤها قبل الخروج. يجب أن يكون المعطى عدداً صحيحاً. قد يكون هذا مفيداً في السكربتات إذا كان الاتصال يفشل أحياناً. المقدار المبدئي هو 1.
ConnectTimeout- يحدد مهلة
الانتظار
(بالثواني)
المستخدمة
عند
الاتصال
بخادوم SSH،
بدلاً من
استخدام
مهلة نظام TCP
المبدئية.
تُطبق هذه
المهلة على
كل من إنشاء
الاتصال
وإجراء
المصافحة
الأولية
لبروتوكول
SSH وتبادل
المفاتيح.
يعد
SetupTimeOutاسمًا مستعارًا للتوافق الخاص بدبيان لهذا الخيار. ControlMaster- يفعل
مشاركة
جلسات
متعددة عبر
اتصال شبكة
واحد. عند
ضبطه على
yes، سيستمع ssh(1) للاتصالات على مقبس تحكم محدد باستخدام معطىControlPath. يمكن للجلسات الإضافية الاتصال بهذا المقبس باستخدام نفسControlPathمع ضبطControlMasterعلىno(المبدئي). ستحاول هذه الجلسات إعادة استخدام اتصال شبكة المثيل الرئيس بدلاً من بدء اتصالات جديدة، ولكنها ستعود إلى الاتصال بشكل طبيعي إذا كان مقبس التحكم غير موجود، أو لا يستمع.سيؤدي ضبط هذا على
askإلى جعل ssh(1) يستمع لاتصالات التحكم، ولكنه يتطلب تأكيداً باستخدام ssh-askpass(1). إذا تعذر فتحControlPath، فسيستمر ssh(1) دون الاتصال بمثيل رئيس.توجيه X11 و ssh-agent(1) مدعوم عبر هذه الاتصالات المتعددة، ومع ذلك فإن العرض والوكيل الموجهان سيكونان تابعين للاتصال الرئيس، أي أنه لا يمكن توجيه شاشات عرض أو وكلاء متعددين.
يسمح خياران إضافيان بتعدد الإرسال الانتهازي: محاولة استخدام اتصال رئيس ولكن العودة إلى إنشاء اتصال جديد إذا لم يكن هناك اتصال موجود بالفعل. هذان الخياران هما:
autoوautoask. يتطلب الأخير تأكيداً مثل خيارask. ControlPath- تحديد
المسار إلى
مقبس
التحكم
المستخدم
لمشاركة
الاتصال
كما هو
موصوف في
قسم
ControlMasterأعلاه أو السلسلةnoneلتعطيل مشاركة الاتصال. قد تستخدم معطياتControlPathصيغة المداة للإشارة إلى الدليل المنزلي للمستخدم، والرموز الموصوفة في قسم TOKENS ومتغيرات البيئة كما هي موصوفة في قسم ENVIRONMENT VARIABLES. يوصى بأن يتضمن أيControlPathمستخدم لمشاركة الاتصال الانتهازية على الأقل %h و %p و %r (أو بدلاً من ذلك %C) وأن يوضع في دليل لا يمكن للمستخدمين الآخرين الكتابة فيه. هذا يضمن تحديد الاتصالات المشتركة بشكل فريد. ControlPersist- عند
استخدامه
جنباً إلى
جنب مع
ControlMaster، فإنه يحدد وجوب بقاء الاتصال الرئيس مفتوحاً في الخلفية (في انتظار اتصالات العملاء المستقبلية) بعد إغلاق اتصال العميل الأولي. إذا ضُبط علىno(المبدئي)، فلن يُوضع الاتصال الرئيس في الخلفية، وسيُغلق بمجرد إغلاق اتصال العميل الأولي. إذا ضُبط علىyesأو 0، فسيظل الاتصال الرئيس في الخلفية لأجل غير مسمى (حتى يُقتل أو يُغلق عبر آلية مثل "ssh -O exit"). إذا ضُبط على وقت بالثواني، أو وقت بأي من الصيغ الموثقة في sshd_config(5) ، فإن الاتصال الرئيس الموجود في الخلفية سينتهي آلياً بعد أن يظل خاملاً (بدون اتصالات عملاء) للوقت المحدد. DynamicForward- يحدد وجوب
توجيه منفذ
TCP على
الجهاز
المحلي عبر
القناة
الآمنة،
ومن ثم
يُستخدم
بروتوكول
التطبيق
لتحديد
مكان
الاتصال به
من الجهاز
البعيد.
يجب أن يكون المعطى [bind_address:]port.يمكنتحديد عناوين IPv6 بإحاطة العناوين بأقواس مربعة. مبدئياً، يُربط المنفذ المحلي وفقاً لإعداد
GatewayPorts. ومع ذلك، يمكن استخدام bind_address صريح لربط الاتصال بعنوان محدد. يشير bind_address لـlocalhostإلى أن منفذ الاستماع مربوط للاستخدام المحلي فقط، بينما يشير العنوان الفارغ أو ‘*’ إلى أن المنفذ يجب أن يكون متاحاً من جميع الواجهات.بروتوكولات SOCKS4 و SOCKS5 مدعومة حالياً، وسيعمل ssh(1) كخادوم SOCKS. يمكن تحديد عمليات توجيه متعددة، ويمكن تقديم عمليات توجيه إضافية في سطر الأوامر. يمكن للمستخدم الخارق (superuser) وحده توجيه المنافذ ذات الامتيازات.
EnableEscapeCommandline- يفعل خيار
سطر
الأوامر في
قائمة
EscapeCharللجلسات التفاعلية (المبدئي ‘~C’). مبدئياً، يكون سطر الأوامر معطلاً. EnableSSHKeysign- يؤدي ضبط
هذا الخيار
على
yesفي ملف ضبط العميل العام /etc/ssh/ssh_config إلى تفعيل استخدام البرنامج المساعد ssh-keysign(8) أثناء الاستيثاق القائم على المضيفHostbasedAuthentication. يجب أن يكون المعطىyesأوno(المبدئي). ينبغي وضع هذا الخيار في القسم غير المخصص للمضيف. راجع ssh-keysign(8) لمزيد من المعلومات. EscapeChar- يضبط محرف
الهروب
(المبدئي:
‘
~’). يمكن أيضًا ضبط محرف الهروب في سطر الأوامر. ينبغي أن يكون المعطى محرفاً واحداً، أو ‘^’ متبوعاً بحرف، أوnoneلتعطيل محرف الهروب تماماً (مما يجعل الاتصال شفافاً للبيانات الثنائية). ExitOnForwardFailure- يحدد ما إذا
كان ينبغي
لـ ssh(1)
إنهاء
الاتصال
إذا لم
يتمكن من
إعداد جميع
عمليات
توجيه
المنافذ
الديناميكية
والنفقية
والمحلية
والبعيدة
المطلوبة،
(على سبيل
المثال إذا
كان أي من
الطرفين
غير قادر
على الربط
والاستماع
على منفذ
محدد). لاحظ
أن
ExitOnForwardFailureلا ينطبق على الاتصالات التي تُجرى عبر توجيهات المنافذ ولن يتسبب، على سبيل المثال، في خروج ssh(1) إذا فشلت اتصالات TCP بوجهة التوجيه النهائية. يجب أن يكون المعطىyesأوno(المبدئي). FingerprintHash- يحدد
خوارزمية
التلبيد
المستخدمة
عند عرض
بصمات
المفاتيح.
الخيارات
الصالحة هي:
md5وsha256(المبدئي). ForkAfterAuthentication- يطلب من
sshالانتقال إلى الخلفية مباشرة قبل تنفيذ الأمر. يعد هذا مفيداً إذا كانsshسيطلب كلمات مرور أو عبارات مرور، ولكن المستخدم يريده في الخلفية. يتضمن هذا ضبط خيار الضبطStdinNullعلى “yes”. الطريقة الموصى بها لبدء برامج X11 في موقع بعيد هي باستخدام شيء مثلssh -f host xterm، وهو نفسssh host xtermإذا ضُبط خيار الضبطForkAfterAuthenticationعلى “yes”.إذا ضُبط خيار الضبط
ExitOnForwardFailureعلى “yes” ، فإن العميل الذي بُدئ مع ضبط خيار الضبطForkAfterAuthenticationعلى “yes” سينتظر إنشاء جميع توجيهات المنافذ البعيدة بنجاح قبل وضع نفسه في الخلفية. يجب أن يكون معطى هذه الكلمة المفتاحيةyes(نفس خيار-f) أوno(المبدئي). ForwardAgent- يحدد ما إذا
كان سيُوجه
الاتصال
بوكيل
الاستيثاق
(إن وجد) إلى
الجهاز
البعيد. قد
يكون
المعطى
yes، أوno(المبدئي)، أو مساراً صريحاً لمقبس الوكيل أو اسم متغير بيئة (يبدأ بـ ‘$’) يُعثر فيه على المسار.ينبغي تفعيل توجيه الوكيل بحذر. يمكن للمستخدمين الذين لديهم القدرة على تجاوز أذونات الملفات على المضيف البعيد (لمقبس نطاق Unix الخاص بالوكيل) الوصول إلى الوكيل المحلي من خلال الاتصال الموجه. لا يمكن للمهاجم الحصول على مادة المفتاح من الوكيل، ومع ذلك يمكنه إجراء عمليات على المفاتيح تمكنه من الاستيثاق باستخدام الهويات المحملة في الوكيل.
ForwardX11- يحدد ما إذا
كان سيُعاد
توجيه
اتصالات X11
آلياً عبر
القناة
الآمنة
وضبط
DISPLAY. يجب أن يكون المعطىyesأوno(المبدئي).ينبغي تفعيل توجيه X11 بحذر. يمكن للمستخدمين الذين لديهم القدرة على تجاوز أذونات الملفات على المضيف البعيد (لقاعدة بيانات ترخيص X11 الخاصة بالمستخدم) الوصول إلى شاشة X11 المحلية من خلال الاتصال الموجه. قد يتمكن المهاجم بعد ذلك من القيام بأنشطة مثل مراقبة ضربات المفاتيح إذا فُعّل خيار
ForwardX11Trustedأيضاً. ForwardX11Timeout- تحديد مهلة
لتوجيه X11
غير
الموثوق به
باستخدام
الصيغة
الموصوفة
في قسم
TIME FORMATS في
sshd_config(5).
ستُرفض
اتصالات X11
التي
يستقبلها
ssh(1) بعد هذا
الوقت. يؤدي
ضبط
ForwardX11Timeoutعلى الصفر إلى تعطيل المهلة والسماح بتوجيه X11 طوال مدة الاتصال. المبدئي هو تعطيل توجيه X11 غير الموثوق به بعد مرور عشرين دقيقة. ForwardX11Trusted- إذا ضُبط
هذا الخيار
على
yes، (المبدئي الخاص بدبيان)، فسيكون لعملاء X11 البعيدين وصول كامل إلى شاشة العرض X11 الأصلية.إذا ضُبط هذا الخيار على
no(المبدئي من المطورين الأصليين)، فسيُعتبر عملاء X11 البعيدون غير موثوقين ويُمنعون من سرقة أو العبث بالبيانات التابعة لعملاء X11 الموثوقين. علاوة على ذلك، سيُضبط رمز xauth(1) المستخدم للجلسة لتنتهي صلاحيته بعد 20 دقيقة. ويُرفض وصول العملاء البعيدين بعد هذا الوقت.راجع مواصفات امتداد X11 SECURITY للحصول على التفاصيل الكاملة حول القيود المفروضة على العملاء غير الموثوقين.
GatewayPorts- يحدد ما إذا
كان يُسمح
للمضيفين
البعيدين
بالاتصال
بالمنافذ
المحلية
الموجهة.
مبدئياً،
يربط ssh(1)
عمليات
توجيه
المنافذ
المحلية
بعنوان
الحلقة
المحلية (loopback).
يمنع هذا
المضيفين
البعيدين
الآخرين من
الاتصال
بالمنافذ
الموجهة.
يمكن
استخدام
GatewayPortsلتحديد أن ssh يجب أن يربط توجيهات المنافذ المحلية بالعنوان البديل العام، وبذلك يسمح للمضيفين البعيدين بالاتصال بالمنافذ الموجهة. يجب أن يكون المعطىyesأوno(المبدئي). GlobalKnownHostsFile- يحدد ملفاً واحداً أو أكثر لاستخدامه لقاعدة بيانات مفاتيح المضيف العامة، تفصل بينها مسافة بيضاء. المبدئي هو /etc/ssh/ssh_known_hosts و /etc/ssh/ssh_known_hosts2.
GSSAPIAuthentication- يحدد ما إذا
كان مصادقة
المستخدم
القائمة
على GSSAPI
مسموحاً
بها.
المبدئي هو
no. GSSAPIClientIdentity- إذا ضُبط، فإنه يحدد هوية عميل GSSAPI التي يجب على ssh استخدامها عند الاتصال بالخادوم. المبدئي هو عدم الضبط، مما يعني استخدام الهوية المبدئية.
GSSAPIDelegateCredentials- توجيه
(تفويض)
أوراق
الاعتماد
إلى
الخادوم.
المبدئي هو
no. GSSAPIKeyExchange- يحدد ما إذا كان يمكن استخدام تبادل المفاتيح القائم على GSSAPI. عند استخدام تبادل مفاتيح GSSAPI لا يحتاج الخادوم إلى امتلاك مفتاح مضيف. المبدئي هو “no”.
GSSAPIRenewalForcesRekey- إذا ضُبط
على “yes” فإن
تجديد
اعتمادات GSSAPI
للعميل
سيجبر
اتصال ssh على
إعادة
تبادل
المفاتيح.
مع خادوم
متوافق،
سيؤدي ذلك
إلى تفويض
الاعتمادات
المجددة
إلى جلسة
على
الخادوم.
تُجرى فحوصات لضمان عدم نشر الاعتمادات إلا عندما تتطابق الاعتمادات الجديدة مع الاعتمادات القديمة على العميل المصدر وحيث لا يزال الخادوم المستلم يحتفظ بالمجموعة القديمة في خبيئته.
المبدئي هو “no”.
لكي يعمل هذا، يجب تمكين
GSSAPIKeyExchangeفي الخادم واستخدامه أيضًا بواسطة العميل. GSSAPIServerIdentity- إذا ضُبط، فإنه يحدد هوية خادوم GSSAPI التي يجب أن يتوقعها ssh عند الاتصال بالخادوم. المبدئي هو عدم الضبط، مما يعني أن هوية خادوم GSSAPI المتوقعة ستُحدد من اسم مضيف الهدف.
GSSAPITrustDns- اضبطه على “yes” للإشارة إلى أن DNS موثوق به لتوحيد اسم المضيف الذي يتصل به بشكل آمن. إذا كان “no” ، فسيُمرر اسم المضيف المدخل على سطر الأوامر دون تغيير إلى مكتبة GSSAPI. المبدئي هو “no”.
GSSAPIKexAlgorithms- قائمة
خوارزميات
تبادل
المفاتيح
المعروضة
لتبادل
مفاتيح GSSAPI.
القيم
الممكنة هي
gss-gex-sha1-, gss-group1-sha1-, gss-group14-sha1-, gss-group14-sha256-, gss-group16-sha512-, gss-nistp256-sha256-, gss-curve25519-sha256-
المبدئي هو “gss-group14-sha256-,gss-group16-sha512-,gss-nistp256-sha256-,gss-curve25519-sha256-”. ينطبق هذا الخيار فقط على الاتصالات التي تستخدم GSSAPI.
HashKnownHosts- يشير إلى أن
ssh يجب أن
يلبد أسماء
المضيفين
وعناوينهم
عندما
تُضاف إلى
~/.ssh/known_hosts.
يمكن
استخدام
هذه
الأسماء
الملبدة
بشكل طبيعي
بواسطة ssh(1)
و sshd(8) ،
ولكنها لا
تكشف
بصرياً عن
معلومات
تحديد
الهوية إذا
كُشفت
محتويات
الملف.
المبدئي هو
no. لاحظ أن الأسماء والعناوين الموجودة حالياً في ملفات المضيفين المعروفين لن تُحول آلياً، ولكن يمكن تلبيدها يدوياً باستخدام ssh-keygen(1). قد يؤدي استخدام هذا الخيار إلى تعطيل ميزات مثل إكمال النص باستخدام مفتاح التبويب، والتي تعتمد على القدرة على قراءة أسماء المضيفين غير المشفرة من ملف ~/.ssh/known_hosts. HostbasedAcceptedAlgorithms- يحدد
خوارزميات
التوقيع
التي
ستُستخدم
للاستيثاق
القائم على
المضيف
كقائمة
أنماط
مفصولة
بفاصلة.
بدلاً من
ذلك، إذا
بدأت
القائمة
المحددة
بمحرف ‘+’ ،
فستُلحق
خوارزميات
التوقيع
المحددة
بالمجموعة
المبدئية
بدلاً من
استبدالها.
إذا بدأت
القائمة
المحددة
بمحرف ‘-’ ،
فستُزال
خوارزميات
التوقيع
المحددة
(بما في ذلك
المحارف
البديلة) من
المجموعة
المبدئية
بدلاً من
استبدالها.
إذا بدأت
القائمة
المحددة
بمحرف ‘^’ ،
فستوضع
خوارزميات
التوقيع
المحددة في
رأس
المجموعة
المبدئية.
المقدار
المبدئي
لهذا
الخيار هو:
ssh-ed25519-cert-v01@openssh.com, ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, sk-ssh-ed25519-cert-v01@openssh.com, sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, webauthn-sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ssh-ed25519, ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, sk-ssh-ed25519@openssh.com, sk-ecdsa-sha2-nistp256@openssh.com, webauthn-sk-ecdsa-sha2-nistp256@openssh.com, rsa-sha2-512,rsa-sha2-256
يمكن استخدام خيار
-Qلـ ssh(1) لسرد خوارزميات التوقيع المدعومة. كان هذا يسمى سابقاً HostbasedKeyTypes. HostbasedAuthentication- يحدد ما إذا
كان يجب
تجربة
الاستيثاق
القائم على
rhosts مع
استيثاق
المفتاح
العام. يجب
أن يكون
المعطى
yesأوno(المبدئي). HostKeyAlgorithms- يحدد
خوارزميات
توقيع
مفتاح
المضيف
التي يريد
العميل
استخدامها
بترتيب
التفضيل.
بدلاً من
ذلك، إذا
بدأت
القائمة
المحددة
بمحرف ‘+’ ،
فستُلحق
خوارزميات
التوقيع
المحددة
بالمجموعة
المبدئية
بدلاً من
استبدالها.
إذا بدأت
القائمة
المحددة
بمحرف ‘-’ ،
فستُزال
خوارزميات
التوقيع
المحددة
(بما في ذلك
المحارف
البديلة) من
المجموعة
المبدئية
بدلاً من
استبدالها.
إذا بدأت
القائمة
المحددة
بمحرف ‘^’ ،
فستوضع
خوارزميات
التوقيع
المحددة في
رأس
المجموعة
المبدئية.
المقدار
المبدئي
لهذا
الخيار هو:
ssh-ed25519-cert-v01@openssh.com, ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, sk-ssh-ed25519-cert-v01@openssh.com, sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, webauthn-sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ssh-ed25519, ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, sk-ecdsa-sha2-nistp256@openssh.com, webauthn-sk-ecdsa-sha2-nistp256@openssh.com sk-ssh-ed25519@openssh.com, rsa-sha2-512,rsa-sha2-256
إذا كانت مفاتيح المضيف معروفة للمضيف الوجهة، فيُعدل هذا المقدار المبدئي لتفضيل خوارزمياتها.
يمكن أيضًا الحصول على قائمة خوارزميات التوقيع المتاحة باستخدام "ssh -Q HostKeyAlgorithms".
HostKeyAlias- يحدد اسماً مستعاراً ينبغي استخدامه بدلاً من اسم المضيف الحقيقي عند البحث عن مفتاح المضيف أو حفظه في ملفات قاعدة بيانات مفاتيح المضيف وعند التحقق من صحة شهادات المضيف. يعد هذا الخيار مفيداً لنفق اتصالات SSH أو لخواديم متعددة تعمل على مضيف واحد.
Hostname- يحدد اسم
المضيف
الحقيقي
لتسجيل
الدخول
إليه. يمكن
استخدام
هذا لتحديد
أسماء
مستعارة أو
اختصارات
للمضيفين.
تقبل
معطيات
Hostnameالرموز الموصوفة في قسم TOKENS. عناوين IP الرقمية مسموح بها أيضًا (سواء في سطر الأوامر أو في مواصفاتHostname). المقدار المبدئي هو الاسم المذكور في سطر الأوامر. IdentitiesOnly- يحدد وجوب
قيام ssh(1)
باستخدام
ملفات هوية
وشهادات
الاستيثاق
المضبوطة
فقط (إما
الملفات
المبدئية،
أو تلك
المضبوطة
صراحة في
ملفات
ssh_configأو الممررة في سطر أوامر ssh(1)) ، حتى لو قدم ssh-agent(1) أوPKCS11ProviderأوSecurityKeyProviderهويات أكثر. يجب أن يكون المعطى لهذه الكلمة المفتاحيةyesأوno(المبدئي). هذا الخيار مخصص للحالات التي يقدم فيها ssh-agent العديد من الهويات المختلفة. IdentityAgent- يحدد مقبس
UNIX-domain
المستخدم
للاتصال
بوكيل
الاستيثاق.
يتجاوز هذا الخيار متغير البيئة
SSH_AUTH_SOCKويمكن استخدامه لتحديد وكيل معين. يؤدي ضبط اسم المقبس علىnoneإلى تعطيل استخدام وكيل الاستيثاق. إذا حُددت السلسلة "SSH_AUTH_SOCK" ، فسيُقرأ موقع المقبس من متغير البيئةSSH_AUTH_SOCK. خلاف ذلك، إذا بدأت القيمة المحددة بمحرف ‘$’ ، فستُعامل كمتغير بيئة يحتوي على موقع المقبس.قد تستخدم معطيات
IdentityAgentصيغة المداة للإشارة إلى الدليل المنزلي للمستخدم، والرموز الموصوفة في قسم TOKENS ومتغيرات البيئة كما هي موصوفة في قسم ENVIRONMENT VARIABLES. IdentityFile- يحدد ملفاً
تُقرأ منه
هوية
استيثاق ECDSA
للمستخدم،
أو ECDSA
المستضافة
على أداة
التحقق، أو
Ed25519، أو Ed25519
المستضافة
على أداة
التحقق، أو
RSA. يمكنك
أيضًا
تحديد ملف
مفتاح عام
لاستخدام
المفتاح
الخاص
المقابل
والمحمل في
ssh-agent(1) عندما
لا يكون ملف
المفتاح
الخاص
موجوداً
محلياً.
المبدئي هو
~/.ssh/id_rsa و
~/.ssh/id_ecdsa و
~/.ssh/id_ecdsa_sk و
~/.ssh/id_ed25519 و
~/.ssh/id_ed25519_sk.
بالإضافة
إلى ذلك،
ستُستخدم
أي هويات
يمثلها
وكيل
الاستيثاق
للاستيثاق
ما لم يُضبط
IdentitiesOnly. إذا لم تُحدد أي شهادات صراحة بواسطةCertificateFile، فسيحاول ssh(1) تحميل معلومات الشهادة من اسم الملف الذي يُحصل عليه عن طريق إلحاق -cert.pub بمسارIdentityFileمحدد.قد تستخدم معطيات
IdentityFileصيغة المداة للإشارة إلى الدليل المنزلي للمستخدم أو الرموز الموصوفة في قسم TOKENS. بدلاً من ذلك، يمكن استخدام معطى بقيمةnoneللإشارة إلى عدم تحميل أي ملفات هوية.من الممكن تحديد ملفات هوية متعددة في ملفات الضبط؛ ستُجرب جميع هذه الهويات بالتسلسل. ستؤدي توجيهات
IdentityFileالمتعددة إلى الإضافة إلى قائمة الهويات المجربة (يختلف هذا السلوك عن سلوك توجيهات الضبط الأخرى).يمكن استخدام
IdentityFileبالتزامن معIdentitiesOnlyلتحديد الهويات في الوكيل التي ستُعرض أثناء الاستيثاق. يمكن أيضًا استخدامIdentityFileبالتزامن معCertificateFileلتوفير أي شهادة مطلوبة أيضًا للاستيثاق مع الهوية. IgnoreUnknown- يحدد قائمة
أنماط من
الخيارات
غير
المعروفة
ليتم
تجاهلها
إذا وُجهت
أثناء
تحليل
الضبط. قد
يُستخدم
هذا لإخفاء
الأخطاء
إذا كان
ssh_configيحتوي على خيارات غير معروفة لـ ssh(1). يوصى بإدراجIgnoreUnknownفي وقت مبكر من ملف الضبط لأنه لن يُطبق على الخيارات غير المعروفة التي تظهر قبله. Include- تضمين ملف
(أو ملفات)
الضبط
المحددة.
يمكن تحديد
مسارات
متعددة
ويمكن أن
يحتوي كل
مسار على
محارف
بديلة لـ
glob(7) ،
ورموز كما
هو موصوف في
قسم TOKENS ،
ومتغيرات
البيئة كما
هي موصوفة
في قسم
ENVIRONMENT VARIABLES
، وبالنسبة
لضبط
المستخدم،
مراجع
شبيهة
بالصدفة ‘~’
إلى الأدلة
المنزلية
للمستخدم.
ستُوسع
المحارف
البديلة
وتُعالج
بالترتيب
المعجمي.
يُفترض أن
الملفات
التي لا
تحتوي على
مسارات
مطلقة
موجودة في
~/.ssh إذا
ضُمنت في
ملف ضبط
المستخدم
أو في /etc/ssh
إذا ضُمنت
من ملف ضبط
النظام. قد
يظهر توجيه
Includeداخل كتلةMatchأوHostلإجراء تضمين مشروط. IPQoS- يحدد قيمة
Differentiated
Services Field Codepoint (DSCP)
للاتصالات.
القيم
المقبولة
هي
af11، وaf12، وaf13، وaf21، وaf22، وaf23، وaf31، وaf32، وaf33، وaf41، وaf42، وaf43، وcs0، وcs1، وcs2، وcs3، وcs4، وcs5، وcs6، وcs7، وef، وle، أو قيمة رقمية، أوnoneلاستخدام المقدار المبدئي لنظام التشغيل. قد يأخذ هذا الخيار معطىً واحداً أو اثنين، تفصل بينهما مسافة بيضاء. إذا حُدد معطى واحد، فإنه يُستخدم كفئة حزمة دون شروط. إذا حُددت قيمتان، فتُختار الأولى آلياً للجلسات التفاعلية والثانية للجلسات غير التفاعلية. المقدار المبدئي هوef(التوجيه المعجل) للجلسات التفاعلية وnone(المبدئي لنظام التشغيل) للجلسات غير التفاعلية. KbdInteractiveAuthentication- يحدد ما إذا
كان يجب
استخدام
الاستيثاق
التفاعلي
عبر لوحة
المفاتيح.
يجب أن يكون
المعطى
لهذه
الكلمة
المفتاحية
yes(المبدئي) أوno. يُعدChallengeResponseAuthenticationاسماً مستعاراً مهجوراً لهذا الخيار. KbdInteractiveDevices- يحدد قائمة
الطرق
المستخدمة
في
الاستيثاق
التفاعلي
عبر لوحة
المفاتيح.
يجب الفصل
بين أسماء
الطرق
المتعددة
بفاصلة.
المقدار
المبدئي هو
استخدام
القائمة
المحددة من
قبل
الخادوم.
تختلف
الطرق
المتاحة
اعتماداً
على ما
يدعمه
الخادوم.
بالنسبة
لخادوم OpenSSH،
قد تكون
صفراً أو
أكثر من:
bsdauthوpam. KexAlgorithms- يحدد
خوارزميات
KEX (تبادل
المفاتيح)
المسموح
بها والتي
ستُستخدم
وترتيب
تفضيلها.
ستكون
الخوارزمية
المختارة
هي أول
خوارزمية
في هذه
القائمة
يدعمها
الخادوم
أيضًا. يجب
الفصل بين
الخوارزميات
المتعددة
بفاصلة.
إذا بدأت القائمة المحددة بمحرف ‘+’ ، فسَتُلحَق الخوارزميات المحددة بالمجموعة المبدئية بدلاً من استبدالها. وإذا بدأت القائمة المحددة بمحرف ‘-’ ، فسَتُزَال الخوارزميات المحددة (بما في ذلك الرموز العامة) من المجموعة المبدئية بدلاً من استبدالها. وإذا بدأت القائمة المحددة بمحرف ‘^’ ، فسَتُوضَع الخوارزميات المحددة في بداية المجموعة المبدئية.
المبدئي هو:
mlkem768x25519-sha256, sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com, curve25519-sha256,curve25519-sha256@libssh.org, ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, diffie-hellman-group-exchange-sha256, diffie-hellman-group16-sha512, diffie-hellman-group18-sha512, diffie-hellman-group14-sha256
يمكن أيضًا الحصول على قائمة خوارزميات تبادل المفاتيح المدعومة باستخدام "ssh -Q kex".
KnownHostsCommand- يحدد أمراً
لاستخدامه
للحصول على
قائمة
بمفاتيح
المضيف،
بالإضافة
إلى تلك
المدرجة في
UserKnownHostsFileوGlobalKnownHostsFile. يُنفذ هذا الأمر بعد قراءة الملفات. قد يكتب أسطر مفاتيح المضيف إلى المخرج القياسي بصيغة مطابقة للملفات المعتادة (الموصوفة في قسم VERIFYING HOST KEYS في ssh(1)). تقبل معطياتKnownHostsCommandالرموز الموصوفة في قسم TOKENS. قد يُستدعى الأمر مرات متعددة لكل اتصال: مرة عند إعداد قائمة تفضيلات خوارزميات مفاتيح المضيف للاستخدام، ومرة أخرى للحصول على مفتاح المضيف لاسم المضيف المطلوب، وإذا كانCheckHostIPمفعلاً، فمرة إضافية للحصول على مفتاح المضيف المطابق لعنوان الخادوم. إذا خرج الأمر بشكل غير طبيعي أو أعاد حالة خروج غير صفرية، فسينتهي الاتصال. LocalCommand- يحدد أمراً
لتنفيذه
على الجهاز
المحلي بعد
الاتصال
بالخادوم
بنجاح. تمتد
سلسلة
الأمر إلى
نهاية
السطر،
وتُنفذ
باستخدام
صدفة
المستخدم.
تقبل
معطيات
LocalCommandالرموز الموصوفة في قسم TOKENS.يُشغل الأمر بشكل متزامن ولا يملك حق الوصول إلى جلسة ssh(1) التي أنشأته. ينبغي ألا يُستخدم للأوامر التفاعلية.
يُتجاهل هذا التوجيه ما لم يكن
PermitLocalCommandقد فُعّل. LocalForward- يحدد توجيه
منفذ TCP أو
مقبس نطاق Unix
على الجهاز
المحلي عبر
القناة
الآمنة إلى
المضيف
والمنفذ
المحددين
(أو مقبس
نطاق Unix) من
الجهاز
البعيد.
بالنسبة
لمنفذ TCP،
يجب أن يكون
المعامل
الأول
[bind_address:]port
أو مسار
مقبس نطاق Unix.
المعامل
الثاني هو
الوجهة
ويمكن أن
يكون
host:hostport أو
مسار مقبس
نطاق Unix إذا
كان المضيف
البعيد
يدعم ذلك.
يمكن تحديد عناوين IPv6 عن طريق إحاطة العناوين بأقواس مربعة.
إذا احتوى أي من المعاملين على '/'، فسيُفسر هذا المعامل على أنه مقبس نطاق Unix (على المضيف المقابل) بدلاً من منفذ TCP.
يمكن تحديد عمليات توجيه متعددة، ويمكن تقديم عمليات توجيه إضافية على سطر الأوامر. يمكن للمستخدم الجدر وحده توجيه المنافذ الممتيزة. يربط المنفذ المحلي مبدئيًا وفقًا لإعداد
GatewayPorts. ومع ذلك، يمكن استخدام bind_address صريح لربط الاتصال بعنوان محدد. يشير bind_address لـlocalhostإلى أن منفذ الاستماع مربوط للاستخدام المحلي فقط، بينما يشير العنوان الفارغ أو ‘*’ إلى أن المنفذ يجب أن يكون متاحًا من جميع الواجهات. قد تستخدم مسارات مقابس نطاق Unix الوسوم الموصوفة في قسم TOKENS ومتغيرات البيئة كما هي موصوفة في قسم ENVIRONMENT VARIABLES. LogLevel- يعطي مستوى الإطناب المستخدم عند تسجيل رسائل السجل من ssh(1). القيم المحتملة هي: QUIET و FATAL و ERROR و INFO و VERBOSE و DEBUG و DEBUG1 و DEBUG2 و DEBUG3. المبدئي هو INFO. يعادل DEBUG الإعداد DEBUG1. يحدد كل من DEBUG2 و DEBUG3 مستويات أعلى من المخرجات المطنبة.
LogVerbose- تحديد
وساطة
واحدة أو
أكثر
لتجاوز LogLevel.
يتكون
التجاوز من
قائمة
أنماط أو
أكثر تطابق
ملف المصدر
والدالة
ورقم السطر
لفرض تسجيل
مفصل لها.
على سبيل
المثال،
نمط
التجاوز لـ:
kex.c:*:1000,*:kex_exchange_identification():*,packet.c:*
سيفعل التسجيل المفصل للسطر 1000 من kex.c ، وكل شيء في دالة
kex_exchange_identification() ، وجميع الأكواد في ملف packet.c. هذا الخيار مخصص للتنقيح ولا توجد تجاوزات مفعّلة مبدئيًا. MACs- يحدد
خوارزميات
MAC (رمز
استيثاق
الرسالة)
بترتيب
التفضيل.
تُستخدم
خوارزمية MAC
لحماية
سلامة
البيانات.
يجب فصل
الخوارزميات
المتعددة
بفاصلة. إذا
بدأت
القائمة
المحددة
بمحرف ‘+’ ،
فستُلحق
الخوارزميات
المحددة
بالمجموعة
المبدئية
بدلاً من
استبدالها.
إذا بدأت
القائمة
المحددة
بمحرف ‘-’ ،
فستُزال
الخوارزميات
المحددة
(بما في ذلك
المحارف
البديلة) من
المجموعة
المبدئية
بدلاً من
استبدالها.
إذا بدأت
القائمة
المحددة
بمحرف ‘^’ ،
فستُوضع
الخوارزميات
المحددة في
رأس
المجموعة
المبدئية.
الخوارزميات التي تحتوي على "-etm" تحسب رمز MAC بعد التعمية (التعمية ثم رمز الاستيثاق). وتُعد هذه الخوارزميات أكثر أمانًا ويوصى باستخدامها.
المبدئي هو:
umac-64-etm@openssh.com,umac-128-etm@openssh.com, hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com, hmac-sha1-etm@openssh.com, umac-64@openssh.com,umac-128@openssh.com, hmac-sha2-256,hmac-sha2-512,hmac-sha1
يمكن أيضًا الحصول على قائمة خوارزميات MAC المتاحة باستخدام "ssh -Q mac".
NoHostAuthenticationForLocalhost- تعطيل
استيثاق
المضيف لـ
localhost (عناوين
الارتجاع).
يجب أن يكون
معامل
الكلمة
المفتاحية
هذه
yesأوno(المبدئي). NumberOfPasswordPrompts- يحدد عدد مطالبات كلمة السر قبل الاستسلام. يجب أن يكون معامل هذه الكلمة المفتاحية عددًا صحيحًا. المبدئي هو 3.
ObscureKeystrokeTiming- يحدد ما إذا
كان ينبغي
لـ ssh(1)
محاولة
إخفاء
التوقيت
بين نقرات
المفاتيح
عن
المراقبين
السلبيين
لحركة مرور
الشبكة. في
حال
التمكين،
سيرسل ssh(1)
في الجلسات
التفاعلية
نقرات
المفاتيح
فترات
زمنية
ثابتة تبلغ
بضع عشرات
من الملي
ثانية
وسيرسل حزم
نقرات
مفاتيح
مزيفة لبعض
الوقت بعد
توقف
الكتابة.
يجب أن يكون
معامل هذه
الكلمة
المفتاحية
yesأوnoأو محدد فترات على الشكلinterval:milliseconds(مثلًاinterval:80لـ 80 ملي ثانية). المبدئي هو إخفاء نقرات المفاتيح باستخدام فترة حزمة تبلغ 20 ملي ثانية. لاحظ أن الفترات الأصغر ستؤدي إلى معدلات أعلى لحزم نقرات المفاتيح المزيفة. PasswordAuthentication- يحدد ما إذا
كان
سيُستخدم
استيثاق
كلمة السر.
يجب أن يكون
معامل هذه
الكلمة
المفتاحية
yes(المبدئي) أوno. PermitLocalCommand- السماح
بتنفيذ
الأوامر
المحلية
عبر خيار
LocalCommandأو باستخدام تسلسل الهروب!command في ssh(1). يجب أن يكون المعاملyesأوno(المبدئي). PermitRemoteOpen- يحدد
الوجهات
التي يُسمح
بتوجيه
منفذ TCP
البعيد
إليها
عندما
يُستخدم
RemoteForwardكوكيل SOCKS. يجب أن يكون تحديد التوجيه على أحد الأشكال التالية:PermitRemoteOpenhost:portPermitRemoteOpenIPv4_addr:portPermitRemoteOpen[IPv6_addr]:port
يمكن تحديد عمليات توجيه متعددة عن طريق الفصل بينها بمسافة بيضاء. يمكن استخدام المعامل
anyلإزالة جميع القيود والسماح بأي طلبات توجيه. يمكن استخدام المعاملnoneلحظر جميع طلبات توجيه. يمكن استخدام المحرف البديل ‘*’ للمضيف أو المنفذ للسماح بجميع المضيفين أو المنافذ على التوالي. خلاف ذلك، لا تُجرى مطابقة أنماط أو عمليات بحث عن العناوين للأسماء المقدمة. PKCS11Provider- يحدد موفر PKCS#11
المراد
استخدامه
أو
noneللإشارة إلى عدم استخدام أي موفر (المبدئي). المعامل لهذه الكلمة المفتاحية هو مسار إلى مكتبة PKCS#11 المشتركة التي ينبغي لـ ssh(1) استخدامها للاتصال مع وسم PKCS#11 الذي يوفر مفاتيح لاستيثاق المستخدم. Port- يحدد رقم المنفذ للاتصال بالمضيف البعيد. المبدئي هو 22.
PreferredAuthentications- يحدد
الترتيب
الذي ينبغي
للعميل
بموجبه
تجربة طرق
الاستيثاق.
يتيح هذا
للعميل
تفضيل
طريقة
واحدة
(مثلًا
keyboard-interactive) على طريقة أخرى (مثلًاpassword). المبدئي هو:gssapi-with-mic,hostbased,publickey, keyboard-interactive,password
ProxyCommand- يحدد الأمر
المراد
استخدامه
للاتصال
بالخادوم.
يمتد سطر
الأمر إلى
نهاية
السطر،
ويُنفذ
باستخدام
توجيه
الصدفة
‘
exec’ للمستخدم لتجنب بقاء عملية صدفة معلقة.تقبل معاملات
ProxyCommandالوسوم الموصوفة في قسم TOKENS. يمكن أن يكون الأمر أي شيء تقريبًا، وينبغي أن يقرأ من مدخلاته القياسية ويكتب إلى مخرجاته القياسية. وينبغي له في النهاية الاتصال بخادوم sshd(8) يعمل على جهاز ما، أو تنفيذsshd -iفي مكان ما. تُدار مفاتيح المضيف باستخدام اسم المضيفHostnameللمضيف المتصل به (المبدئي هو الاسم الذي كتبه المستخدم). يؤدي ضبط الأمر علىnoneإلى تعطيل هذا الخيار تمامًا. لاحظ أنCheckHostIPغير متاح للاتصالات باستخدام أمر وكيل.هذا التوجيه مفيد بالاقتران مع nc(1) ودعمه للوكيل. على سبيل المثال، التوجيه التالي سيتصل عبر وكيل HTTP عند العنوان 192.0.2.0:
ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
ProxyJump- يحدد وكيل
قفز واحد أو
أكثر إما
على الشكل
[user@]host[:port]
أو معرف URI لـ
ssh. يمكن فصل
الوكلاء
المتعددين
بمحارف
الفاصلة
وتُزار
بالتسلسل.
سيؤدي ضبط
هذا الخيار
إلى جعل ssh(1)
يتصل
بالمضيف
المستهدف
عن طريق
إجراء
اتصال ssh(1)
أولاً
بمضيف
ProxyJumpالمحدد ثم إنشاء توجيه TCP إلى الهدف النهائي من هناك. يؤدي ضبط المضيف علىnoneإلى تعطيل هذا الخيار تمامًا.لاحظ أن هذا الخيار سيتنافس مع خيار
ProxyCommand- أيهما يُحدد أولاً سيمنع الحالات اللاحقة للآخر من النفاذ.لاحظ أيضًا أن ضبط مضيف الوجهة (سواء قدم عبر سطر الأوامر أو ملف الضبط) لا يُطبق عمومًا على مضيفي القفز. ينبغي استخدام ~/.ssh/config إذا كان هناك حاجة إلى ضبط محدد لمضيفي القفز.
ProxyUseFdpass- يحدد أن
ProxyCommandسيمرر واصف ملف متصل رجوعًا إلى ssh(1) بدلاً من الاستمرار في التنفيذ وتمرير البيانات. المبدئي هوno. PubkeyAcceptedAlgorithms- يحدد
خوارزميات
التوقيع
التي
ستُستخدم
لاستيثاق
المفتاح
العام
قائمة
مفصولة
بفواصل من
الأنماط.
إذا بدأت
القائمة
المحددة
بمحرف ‘+’ ،
فستُلحق
الخوارزميات
التي تليها
بالمجموعة
المبدئية
بدلاً من
استبدالها.
إذا بدأت
القائمة
المحددة
بمحرف ‘-’ ،
فستُزال
الخوارزميات
المحددة
(بما في ذلك
المحارف
البديلة) من
المجموعة
المبدئية
بدلاً من
استبدالها.
إذا بدأت
القائمة
المحددة
بمحرف ‘^’ ،
فستُوضع
الخوارزميات
المحددة في
رأس
المجموعة
المبدئية.
المبدئي
لهذا
الخيار هو:
ssh-ed25519-cert-v01@openssh.com, ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, sk-ssh-ed25519-cert-v01@openssh.com, sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, webauthn-sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ssh-ed25519, ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, sk-ssh-ed25519@openssh.com, sk-ecdsa-sha2-nistp256@openssh.com, webauthn-sk-ecdsa-sha2-nistp256@openssh.com, rsa-sha2-512,rsa-sha2-256
يمكن أيضًا الحصول على قائمة خوارزميات التوقيع المتاحة باستخدام "ssh -Q PubkeyAcceptedAlgorithms".
PubkeyAuthentication- يحدد ما إذا
كان يجب
تجربة
استيثاق
المفتاح
العام. يجب
أن يكون
معامل هذه
الكلمة
المفتاحية
yes(المبدئي)، أوno، أوunbound، أوhost-bound. يمكّن الخياران الأخيران استيثاق المفتاح العام مع تعطيل أو تمكين امتداد بروتوكول استيثاق OpenSSH المقيد بالمضيف والمطلوب لتوجيه ssh-agent(1) المقيد على التوالي. RefuseConnection- يسمح برفض
الاتصال
بواسطة ملف
الضبط. إذا
حُدد هذا
الخيار،
فإن ssh(1)
سينتهي
فورًا قبل
محاولة
الاتصال
بالمضيف
البعيد،
ويعرض
رسالة خطأ
تحتوي على
معامل هذه
الكلمة
المفتاحية
ويعيد حالة
خروج غير
صفرية. قد
يكون هذا
الخيار
مفيدًا
للتعبير عن
تذكيرات أو
تحذيرات
للمستخدم
عبر
ssh_config. RekeyLimit- يحدد الحد
الأقصى
لكمية
البيانات
التي يمكن
إرسالها أو
استقبالها
قبل إعادة
تفاوض
مفتاح
الجلسة،
متبوعًا
اختياريًا
بالحد
الأقصى
للوقت الذي
قد يمر قبل
إعادة
تفاوض
مفتاح
الجلسة.
يُحدد
المعامل
الأول
بالبايت
وقد يحتوي
على لاحقة
‘K’ أو ‘M’ أو
‘G’ للإشارة
إلى
كيلوبايت
أو
ميجابايت
أو
جيجابايت
على
التوالي.
المبدئي
يتراوح بين
‘1G’ و ‘4G’ ،
اعتمادًا
على
التعمية.
تُحدد
القيمة
الثانية
الاختيارية
بالثواني
ويمكن
استخدام أي
من الوحدات
الموثقة في
قسم TIME FORMATS في
sshd_config(5).
القيمة
المبدئية
لـ
RekeyLimitهيdefault none، مما يعني أن إعادة المفتاح تُجرى بعد إرسال أو استقبال كمية البيانات المبدئية للتعمية ولا تُجرى إعادة المفتاح على أساس الوقت. RemoteCommand- يحدد أمرًا
لتنفيذه
على الجهاز
البعيد بعد
الاتصال
بالخادوم
بنجاح. يمتد
سطر الأمر
إلى نهاية
السطر،
ويُنفذ
باستخدام
صدفة
المستخدم.
تقبل
معاملات
RemoteCommandالوسوم الموصوفة في قسم TOKENS. RemoteForward- يحدد توجيه
منفذ TCP أو
مقبس نطاق Unix
على الجهاز
البعيد عبر
القناة
الآمنة.
يمكن توجيه
المنفذ
البعيد إما
إلى مضيف
ومنفذ
محددين أو
مقبس نطاق Unix
من الجهاز
المحلي، أو
يمكن أن
يعمل كوكيل
SOCKS 4/5 يسمح
لعميل بعيد
بالاتصال
بوجهات
عشوائية من
الجهاز
المحلي.
المعامل
الأول هو
مواصفة
الاستماع
ويمكن أن
يكون
[bind_address:]port
أو مسار
مقبس نطاق Unix
إذا كان
المضيف
البعيد
يدعم ذلك.
في حالة
التوجيه
إلى وجهة
محددة، يجب
أن يكون
المعامل
الثاني
host:hostport أو
مسار مقبس
نطاق Unix،
وإلا إذا لم
يُحدد
معامل
وجهة،
فسيُنشأ
التوجيه
البعيد
كوكيل SOCKS. عند
العمل
كوكيل SOCKS،
يمكن تقييد
وجهة
الاتصال
بواسطة
PermitRemoteOpen.يمكن تحديد عناوين IPv6 عن طريق إحاطة العناوين بأقواس مربعة.
إذا احتوى أي من المعاملين على '/'، فسيُفسر هذا المعامل على أنه مقبس نطاق Unix (على المضيف المقابل) بدلاً من منفذ TCP.
يمكن تحديد عمليات توجيه متعددة، ويمكن تقديم عمليات توجيه إضافية على سطر الأوامر. يمكن توجيه المنافذ المتميزة فقط عند تسجيل الدخول بصفتك جذر (root) على الجهاز البعيد. قد تستخدم مسارات مقابس نطاق Unix الوسوم الموصوفة في قسم TOKENS ومتغيرات البيئة كما هي موصوفة في قسم ENVIRONMENT VARIABLES.
إذا كان معامل port هو 0، فسيُخصص منفذ الاستماع ديناميكيًا على الخادوم ويُبلغ العميل به في وقت التشغيل.
إذا لم يُحدد bind_address ، فإن المبدئي هو الربط بعناوين الارتجاع فقط. إذا كان bind_address هو ‘
*’ أو سلسلة فارغة، فيُطلب من التوجيه الاستماع على جميع الواجهات. لن ينجح تحديد bind_address بعيد إلا إذا كان خيارGatewayPortsللخادوم ممكنًا (انظر sshd_config(5)). RequestTTY- يحدد ما إذا
كان يجب طلب
تبلية زائف
(pseudo-tty) للجلسة.
قد يكون
المعامل
أحد القيم:
no(لا يطلب TTY أبدًا)، أوyes(يطلب دائمًا TTY عندما يكون المدخل القياسي هو TTY)، أوforce(يطلب دائمًا TTY) أوauto(يطلب TTY عند فتح جلسة تسجيل دخول). يعكس هذا الخيار الرايتين-tو-Tلـ ssh(1). RequiredRSASize- يحدد الحد
الأدنى
لحجم مفتاح
RSA (بالبت)
الذي
سيقبله ssh(1).
تُتجاهل
مفاتيح
استيثاق
المستخدم
الأصغر من
هذا الحد.
الخواديم
التي تقدم
مفاتيح
مضيف أصغر
من هذا الحد
ستتسبب في
إنهاء
الاتصال.
المبدئي هو
1024بت. لاحظ أنه يمكن رفع هذا الحد من القيمة المبدئية فقط. RevokedHostKeys- يحدد
مفاتيح
المضيف
العامة
الملغاة.
تُرفض
المفاتيح
المدرجة في
هذا الملف
لاستيثاق
المضيف.
لاحظ أنه
إذا كان هذا
الملف غير
موجود أو
غير قابل
للقراءة،
فسيُرفض
استيثاق
المضيف
لجميع
المضيفين.
يمكن تحديد
المفاتيح
كملف نصي،
يسرد
مفتاحًا
عامًا
واحدًا في
كل سطر، أو
كقائمة
إلغاء
مفاتيح OpenSSH (KRL)
كما جرى
توليدها
بواسطة
ssh-keygen(1). لمزيد
من
المعلومات
حول قوائم
KRL، راجع قسم KEY
REVOCATION LISTS في ssh-keygen(1).
قد تستخدم
معاملات
RevokedHostKeysصيغة التلدة (~) للإشارة إلى الدليل المنزلي للمخدم، والوسوم الموصوفة في قسم TOKENS ومتغيرات البيئة كما هي موصوفة في قسم ENVIRONMENT VARIABLES. SecurityKeyProvider- يحدد
مسارًا
لمكتبة
ستُستخدم
عند تحميل
أي مفاتيح
مستضافة
على مصدق FIDO،
متجاوزًا
الوضع
المبدئي
لاستخدام
دعم USB HID
المدمج.
إذا بدأت القيمة المحددة بمحرف ‘$’, فستُعامل كمتغير بيئة يحتوي على مسار المكتبة.
SendEnv- يحدد
المتغيرات
من بيئة
environ(7)
المحلية
التي ينبغي
إرسالها
إلى
الخادوم.
يجب أن يدعم
الخادوم
ذلك أيضًا،
ويجب اضبط
الخادوم
لقبول
متغيرات
البيئة هذه.
لاحظ أن
متغير
البيئة
TERMيُرسل دائمًا عندما تُطلب تبلية زائف لأنه مطلوب بموجب البروتوكول. راجعAcceptEnvفي sshd_config(5) لمعرفة كيفية اضبط الخادوم. تُحدد المتغيرات بالاسم، والذي قد يحتوي على محارف بديلة. يمكن فصل متغيرات البيئة المتعددة بمسافة بيضاء أو توزيعها عبر توجيهاتSendEnvمتعددة.راجع PATTERNS لمزيد من المعلومات حول الأنماط.
يمكن مسح أسماء متغيرات
SendEnvالمحددة سابقًا عن طريق إلحاق سابقة - بالأنماط. المبدئي هو عدم إرسال أي متغيرات بيئية. ServerAliveCountMax- يضبط عدد
رسائل
إبقاء
الخادوم
حيًا (انظر
أدناه) التي
يمكن
إرسالها
دون أن
يتلقى ssh(1)
أي رسائل
ردًا من
الخادوم.
إذا وُصل
إلى هذا
الحد
الأدنى
أثناء
إرسال
رسائل
إبقاء
الخادوم
حيًا،
فسيقطع ssh
الاتصال
بالخادوم،
مما يؤدي
إلى إنهاء
الجلسة. من
المهم
ملاحظة أن
استخدام
رسائل
إبقاء
الخادوم
حيًا يختلف
تمامًا عن
خيار
TCPKeepAlive(أدناه). تُرسل رسائل إبقاء الخادوم حيًا عبر القناة المعماة وبالتالي لن تكون قابلة للانتحال. خيار إبقاء اتصال TCP حيًا الممكن بواسطةTCPKeepAliveقابل للانتحال. آلية إبقاء الخادوم حيًا قيمة عندما يعتمد العميل أو الخادوم على معرفة متى يصبح الاتصال غير مستجيب.القيمة المبدئية هي 3. إذا ضبط، على سبيل المثال،
ServerAliveInterval(انظر أدناه) على 15 وتُركServerAliveCountMaxعلى القيمة المبدئية، وإذا أصبح الخادوم غير مستجيب، فسيقطع ssh الاتصال بعد حوالي 45 ثانية. ServerAliveInterval- يضبط فاصل
مهلة
الانتظار
بالثواني،
حيث إذا لم
تُستلم أي
بيانات من
الخادوم
بعدها،
سيرسل ssh(1)
رسالة عبر
القناة
المعماة
لطلب رد من
الخادوم.
المبدئي هو
0، مما يشير
إلى أن هذه
الرسائل لن
تُرسل إلى
الخادوم،
أو 300 إذا
ضُبط خيار
BatchMode(خاص بدبيان). يعدProtocolKeepAlivesاسمًا مستعارًا للتوافق الخاص بدبيان لهذا الخيار. SessionType- يمكن
استخدامه
إما لطلب
استدعاء
نظام فرعي
على النظام
البعيد، أو
لمنع تنفيذ
أمر بعيد
على
الإطلاق.
الأمر
الأخير
مفيد لمجرد
توجيه
المنافذ.
يجب أن يكون
معامل هذه
الكلمة
المفتاحية
none(مثل خيار-N) ، أوsubsystem(مثل خيار-s) أوdefault(تنفيذ صدفة أو أمر). SetEnv- تحديد
متغير بيئة
واحد أو
أكثر
ومحتوياته
مباشرة
ليُرسل إلى
الخادوم
على الشكل
“NAME=VALUE”. على
غرار
SendEnv، وباستثناء متغيرTERM، يجب أن يكون الخادوم مهيأً لقبول متغير البيئة.يجوز لـ “VALUE” استخدام الوسوم الموصوفة في قسم TOKENS ومتغيرات البيئة كما هي موصوفة في قسم ENVIRONMENT VARIABLES.
StdinNull- يعيد توجيه
stdin من /dev/null (في
الواقع،
يمنع
القراءة من
stdin). يجب
استخدام
هذا الخيار
أو خيار
-nالمكافئ عندما يُشغلsshفي الخلفية. يجب أن يكون معامل هذه الكلمة المفتاحيةyes(مثل خيار-n) أوno(المبدئي). StreamLocalBindMask- يضبط قناع
نمط إنشاء
الملفات
الثماني (umask)
المستخدم
عند إنشاء
ملف مقبس
نطاق يونكس
لتوجيه
المنافذ
المحلي أو
البعيد.
يُستخدم
هذا الخيار
فقط لتوجيه
المنافذ
إلى ملف
مقبس نطاق
يونكس.
القيمة المبدئية هي 0177، والتي تنشئ ملف مقبس نطاق-يونكس قابل للقراءة والكتابة من قبل المالك فقط. لاحظ أن ليس كل أنظمة التشغيل تحترم وضع الملف على ملفات مقابس نطاق-يونكس.
StreamLocalBindUnlink- يحدد ما إذا
كان يجب
إزالة ملف
مقبس نطاق Unix
الحالي
لتوجيه
المنفذ
المحلي أو
البعيد قبل
إنشاء ملف
جديد. إذا
كان ملف
المقبس
موجودًا
بالفعل ولم
يُمكن
StreamLocalBindUnlink، فلن يتمكنsshمن توجيه المنفذ إلى ملف مقبس نطاق Unix. يُستخدم هذا الخيار فقط لتوجيه المنفذ إلى ملف مقبس نطاق Unix.يجب أن يكون المعامل
yesأوno(المبدئي). StrictHostKeyChecking- إذا ضُبطت
هذه الراية
على
yes، فلن يضيف ssh(1) آليًا مفاتيح المضيف إلى ملف ~/.ssh/known_hosts ، ويرفض الاتصال بالمضيفين الذين تغير مفتاح المضيف الخاص بهم. يوفر هذا أقصى حماية ضد هجمات الوسيط (MITM)، على الرغم من أنه قد يكون مزعجًا عندما يكون ملف /etc/ssh/ssh_known_hosts ضعيف الصيانة أو عند إجراء اتصالات بمضيفين جدد بشكل متكرر. يجبر هذا الخيار المستخدم على إضافة جميع المضيفين الجدد يدويًا.إذا ضُبطت هذه الراية على
accept-new، فسيضيف ssh آليًا مفاتيح المضيف الجديدة إلى ملف known_hosts الخاص بالمستخدم، ولكنه لن يسمح بالاتصال بالمضيفين الذين تغيرت مفاتيح المضيف الخاصة بهم. إذا ضُبطت هذه الراية علىnoأوoff، فسيضيف ssh آليًا مفاتيح المضيف الجديدة إلى ملفات المضيفين المعروفين للمستخدم ويسمح بالمضي قدمًا في الاتصالات بالمضيفين الذين تغيرت مفاتيحهم، وذلك وفقًا لبعض القيود. إذا ضُبطت هذه الراية علىask(المبدئي)، فستُضاف مفاتيح المضيف الجديدة إلى ملفات المضيفين المعروفين للمستخدم فقط بعد تأكيد المستخدم أن هذا هو ما يريد فعله حقًا، وسيرفض ssh الاتصال بالمضيفين الذين تغير مفتاح المضيف الخاص بهم. ستُحقق من مفاتيح المضيفين المعروفين آليًا في جميع الحالات. SyslogFacility- يعطي رمز المرفق المستخدم عند تسجيل رسائل السجل من ssh(1). القيم المحتملة هي: DAEMON و USER و AUTH و LOCAL0 و LOCAL1 و LOCAL2 و LOCAL3 و LOCAL4 و LOCAL5 و LOCAL6 و LOCAL7. المبدئي هو USER.
TCPKeepAlive- يحدد ما إذا
كان ينبغي
للنظام
إرسال
رسائل
استبقاء
اتصال TCP (keepalive)
إلى الطرف
الآخر. إذا
أُرسلت،
فسيُلاحظ
انقطاع
الاتصال أو
انهيار أحد
الأجهزة
بشكل صحيح.
يستخدم هذا
الخيار
رسائل
استبقاء
اتصال TCP فقط
(على عكس
استخدام
رسائل
استبقاء
الاتصال
على مستوى
ssh)، لذلك
يستغرق
الأمر
وقتًا
طويلاً
لملاحظة
موت
الاتصال.
على هذا
النحو،
ربما تريد
خيار
ServerAliveIntervalأيضًا. ومع ذلك، هذا يعني أن الاتصالات ستموت إذا كان المسار معطلاً مؤقتًا، ويجد بعض الأشخاص هذا الأمر مزعجًا.المبدئي هو
yes(لإرسال رسائل إبقاء اتصال TCP حيًا)، وسيلاحظ العميل إذا تعطلت الشبكة أو توقف المضيف البعيد. هذا أمر مهم في السكربتات، ويريده الكثير من المستخدمين أيضًا.لتعطيل رسائل إبقاء اتصال TCP حيًا، ينبغي ضبط القيمة على
no. انظر أيضًاServerAliveIntervalلرسائل إبقاء الاتصال حيًا على مستوى البروتوكول. Tag- تحديد اسم
وسم ضبط
يمكن
استخدامه
لاحقًا
بواسطة
توجيه
Matchلتحديد كتلة من الضبط. Tunnel- طلب توجيه
جهاز tun(4)
بين العميل
والخادوم.
يجب أن يكون
المعامل
yesأوpoint-to-point(الطبقة 3) أوethernet(الطبقة 2) أوno(المبدئي). يؤدي تحديدyesإلى طلب وضع النفق المبدئي، وهوpoint-to-point. TunnelDevice- يحدد أجهزة
tun(4) المراد
فتحها على
العميل
(local_tun)
والخادوم
(remote_tun).
يجب أن يكون المعامل local_tun[:remote_tun]. يمكن تحديد الأجهزة بواسطة المعرف الرقمي أو الكلمة المفتاحية
any، والتي تستخدم جهاز النفق المتاح التالي. إذا لم يُحدد remote_tun ، فإن قيمته المبدئية هيany. المبدئي هوany:any. UpdateHostKeys- يحدد ما إذا
كان ينبغي
لـ ssh(1) قبول
إشعارات
بمفاتيح
مضيف
إضافية من
الخادوم
تُرسل بعد
اكتمال
الاستيثاق
وإضافتها
إلى
UserKnownHostsFile. يجب أن يكون المعاملyesأوnoأوask. يتيح هذا الخيار تعلم مفاتيح مضيف بديلة للخادوم ويدعم التدوير السلس للمفاتيح من خلال السماح للخادوم بإرسال مفاتيح عامة بديلة قبل إزالة المفاتيح القديمة.لا تُقبل مفاتيح المضيف الإضافية إلا إذا كان المفتاح المستخدم لاستيثاق المضيف موثوقًا به بالفعل أو مقبولاً صراحةً من المستخدم، وجرى استيثاق المضيف عبر
UserKnownHostsFile(أي ليسGlobalKnownHostsFile) وجرى استيثاق المضيف باستخدام مفتاح عادي وليس شهادة.يُمكن
UpdateHostKeysمبدئيًا إذا لم يتجاوز المستخدم إعدادUserKnownHostsFileالمبدئي ولم يُمكّنVerifyHostKeyDNS، وإلا فسيُضبطUpdateHostKeysعلىno.إذا ضُبط
UpdateHostKeysعلىask، فيُطلب من المستخدم تأكيد التعديلات على ملف known_hosts. التأكيد غير متوافق حاليًا معControlPersist، وسيُعطل في حال تمكينه.في الوقت الحالي، يدعم فقط sshd(8) من الإصدار OpenSSH 6.8 وما فوق امتداد بروتوكول "hostkeys@openssh.com" المستخدم لإعلام العميل بجميع مفاتيح مضيف الخادوم.
User- يحدد
المستخدم
المراد
تسجيل
الدخول
باسمه. يمكن
أن يكون هذا
مفيدًا عند
استخدام
اسم مستخدم
مختلف على
أجهزة
مختلفة. هذا
يوفر عناء
الاضطرار
إلى تذكر
إعطاء اسم
المستخدم
على سطر
الأوامر. قد
تستخدم
معاملات
Userالوسوم الموصوفة في قسم TOKENS (باستثناء %r و %C) ومتغيرات البيئة كما هي موصوفة في قسم ENVIRONMENT VARIABLES. UserKnownHostsFile- يحدد ملفًا
واحدًا أو
أكثر
لاستخدامها
كقاعدة
بيانات
لمفاتيح
مضيف
المستخدم،
تفصل بينها
مسافة
بيضاء. قد
يستخدم كل
اسم ملف
صيغة
التلدة
للإشارة
إلى الدليل
المنزلي
للمخدم،
والوسوم
الموصوفة
في قسم
TOKENS
ومتغيرات
البيئة كما
هي موصوفة
في قسم
ENVIRONMENT VARIABLES.
تؤدي
القيمة
noneإلى جعل ssh(1) يتجاهل أي ملفات مضيفين معروفين خاصة بالمستخدم. المبدئي هو ~/.ssh/known_hosts و ~/.ssh/known_hosts2. VerifyHostKeyDNS- يحدد ما إذا
كان
سيُتحقق من
المفتاح
البعيد
باستخدام
سجلات
موارد DNS و SSHFP.
إذا ضُبط
هذا الخيار
على
yes، فسيثق العميل ضمنيًا في المفاتيح التي تطابق بصمة آمنة من DNS. ستُعامل البصمات غير الآمنة كما لو كان هذا الخيار ضُبط علىask. إذا ضُبط هذا الخيار علىask، فستُعرض معلومات حول مطابقة البصمة، ولكن سيظل المستخدم بحاجة إلى تأكيد مفاتيح المضيف الجديدة وفقًا لخيارStrictHostKeyChecking. المبدئي هوno.انظر أيضًا VERIFYING HOST KEYS في ssh(1).
VersionAddendum- يحدد
اختياريًا
نصًا
إضافيًا
لإلحاقه
بشعار
بروتوكول SSH
المرسل من
العميل عند
الاتصال.
المبدئي هو
none. VisualHostKey- إذا ضُبطت
هذه الراية
على
yes، فتُطبع تمثيل فني بترميز ASCII لبصمة مفتاح المضيف البعيد بالإضافة إلى سلسلة البصمة عند تسجيل الدخول وللمفاتيح غير المعروفة للمضيف. إذا ضُبطت هذه الراية علىno(المبدئي)، فلن تُطبع أي سلاسل بصمات عند تسجيل الدخول وستُطبع سلسلة البصمة فقط لمفاتيح المضيف غير المعروفة. WarnWeakCrypto- يتحكم في ما
إذا كان
يُحذر
المستخدم
عندما تكون
خوارزميات
التعمية
المتفاوض
عليها
للاتصال
ضعيفة أو
غير موصى
بها. يمكن
تعطيل
التحذيرات
عن طريق
إيقاف
تحذير معين
أو تعطيل
جميع
التحذيرات.
يمكن تعطيل
التحذيرات
بشأن
الاتصالات
التي لا
تستخدم
تبادل
مفاتيح ما
بعد الكم
باستخدام
الراية
no-pq-kex. القيمةnoستعطل جميع التحذيرات. المبدئي، المكافئ لـyes، هو تمكين جميع التحذيرات. XAuthLocation- يحدد مسار الاسم الكامل لبرنامج xauth(1). المبدئي هو /usr/bin/xauth.
الأنماط¶
يتكون pattern (النمط) من صفر أو أكثر من المحارف غير البيضاء، أو ‘*’ (محرف بديل يطابق صفر أو أكثر من المحارف)، أو ‘?’ (محرف بديل يطابق محرفًا واحدًا بالضبط). على سبيل المثال، لتحديد مجموعة من الإعلانات لأي مضيف في مجموعة نطاقات ".co.uk" ، يمكن استخدام النمط التالي:
Host *.co.ukالنمط التالي سيطابق أي مضيف في نطاق الشبكة 192.168.0.[0-9]:
Host 192.168.0.?قائمة الأنماط pattern-list هي قائمة أنماط مفصولة بفواصل. يمكن نفي الأنماط داخل قوائم الأنماط بسبقها بعلامة تعجب (‘!’). على سبيل المثال، للسماح باستخدام مفتاح من أي مكان داخل المؤسسة باستثناء تجميعة "dialup" ، يمكن استخدام المدخل التالي (في authorized_keys):
from="!*.dialup.example.com,*.example.com"لاحظ أن التطابق المنفي لن ينتج عنه أبدًا نتيجة إيجابية بمفرده. على سبيل المثال، ستفشل محاولة مطابقة "host3" مع قائمة الأنماط التالية:
from="!host1,!host2"الحل هنا هو تضمين عبارة تؤدي إلى مطابقة إيجابية، مثل محرف بديل:
from="!host1,!host2,*"رموز (TOKENS)¶
يمكن لمعاملات بعض الكلمات المفتاحية الاستفادة من الوسوم، والتي تُوسع في وقت التشغيل. تُوسع الوسوم دون اقتباس أو هروب لمحارف الصدفة. تقع على عاتق المستخدم مسؤولية ضمان سلامتها في سياق استخدامها.
الرموز
المدعومة
في ssh_config هي:
- %%
- حرف ‘%’ مجرد.
- %C
- مزيج (Hash) لـ %l%h%p%r%j.
- %d
- الدليل المنزلي للمستخدم المحلي.
- %f
- بصمة مفتاح مضيف الخادوم.
- %H
- اسم المضيف أو العنوان في known_hosts الذي يُبحث عنه.
- %h
- اسم المضيف البعيد.
- %I
- سلسلة تصف
سبب تنفيذ
KnownHostsCommand: إماADDRESSعند البحث عن مضيف حسب العنوان (فقط عندما يكونCheckHostIPممكنًا)، أوHOSTNAMEعند البحث حسب اسم المضيف، أوORDERعند إعداد قائمة تفضيلات خوارزمية مفتاح المضيف لاستخدامها للمضيف الوجهة. - %i
- معرف المستخدم المحلي.
- %j
- محتويات خيار ProxyJump، أو سلسلة فارغة إذا كان هذا الخيار غير معين.
- %K
- مفتاح المضيف المرمز بأساس base64.
- %k
- اسم مستعار لمفتاح المضيف إذا جرى تحديده، وإلا اسم المضيف البعيد الأصلي المعطى على سطر الأوامر.
- %L
- اسم المضيف المحلي.
- %l
- اسم المضيف المحلي، بما في ذلك اسم النطاق.
- %n
- اسم المضيف البعيد الأصلي، كما هو معطى على سطر الأوامر.
- %p
- المنفذ البعيد.
- %r
- اسم المستخدم البعيد.
- %T
- واجهة الشبكة المحلية tun(4) أو tap(4) المخصصة في حالة طلب إعادة توجيه النفق، أو "NONE" في الحالات الأخرى.
- %t
- نوع مفتاح
مضيف
الخادوم،
مثلًا
ssh-ed25519. - %u
- اسم المستخدم المحلي.
تقبل
الخيارات
CertificateFile و
ControlPath و
IdentityAgent و
IdentityFile و
Include و
KnownHostsCommand و
LocalForward و Match
exec و RemoteCommand و
RemoteForward و
RevokedHostKeys و
UserKnownHostsFile و
VersionAddendum
الوسوم %%, %C, %d, %h, %i, %j, %k,
%L, %l, %n, %p, %r, و %u.
يقبل
الأمر
KnownHostsCommand
بالإضافة
إلى ذلك
الرموز %f و %H و %I
و %K و %t.
يقبل
الخيار
Hostname
الرمزين %% و %h.
يقبل
الأمر
LocalCommand جميع
الرموز.
يقبل
الأمران
ProxyCommand و
ProxyJump
الرموز %% و %h و %n
و %p و %r.
لاحظ أن بعض هذه التوجيهات تبني أوامر للتنفيذ عبر الصدفة. وبما أن ssh(1) لا يجري أي ترشيح أو هروب للمحارف التي لها معنى خاص في أوامر الصدفة (مثل علامات الاقتباس)، فإن مسؤولية ضمان عدم احتواء المعطيات الممررة إلى ssh(1) على مثل هذه المحارف واقتباس الرموز بشكل مناسب عند استخدامها تقع على عاتق المستخدم.
متغيرات البيئة¶
يمكن
توسيع
معطيات بعض
الكلمات
المفتاحية
في وقت
التشغيل من
متغيرات
البيئة على
العميل عن
طريق حصرها
في ${} ،
على سبيل
المثال
يشير ${HOME}/.ssh
إلى دليل .ssh
الخاص
بالمستخدم.
إذا لم يكن
متغير
البيئة
المحدد
موجودًا،
فسيُرجع
خطأ
ويُتجاهل
إعداد تلك
الكلمة
المفتاحية.
تدعم
الكلمات
المفتاحية
CertificateFile و
ControlPath و
IdentityAgent و
IdentityFile و
Include و
KnownHostsCommand و
UserKnownHostsFile
متغيرات
البيئة.
بينما تدعم
الكلمات
المفتاحية
LocalForward و
RemoteForward
متغيرات
البيئة فقط
لمسارات
مقابس نطاق
Unix.
الملفات¶
- ~/.ssh/config
- هذا هو ملف الإعداد الخاص بكل مستخدم. وُصف تنسيق هذا الملف أعلاه. يُستخدم هذا الملف بواسطة عميل SSH. ونظرًا لاحتمالية إساءة الاستخدام، يجب أن يتمتع هذا الملف بأذونات صارمة: القراءة/الكتابة للمستخدم، وغير قابل للكتابة من الآخرين. يجوز أن يكون قابلاً للكتابة من المجموعة بشرط أن تحتوي المجموعة المعنية على المستخدم فقط.
- /etc/ssh/ssh_config
- ملف الإعداد الشامل للنظام. يوفر هذا الملف قيمًا مبدئية لتلك القيم التي لم تُحدد في ملف إعداد المستخدم، ولأولئك المستخدمين الذين ليس لديهم ملف إعداد. يجب أن يكون هذا الملف قابلاً للقراءة من الجميع.
انظر أيضًا¶
المؤلفون¶
إن OpenSSH هو مشتق من إصدار ssh 1.2.12 الأصلي والمجاني الذي كتبه Tatu Ylonen. أزال Aaron Campbell, Bob Beck, Markus Friedl و Niels Provos, Theo de Raadt و Dug Song العديد من الأخطاء، وأعادوا إضافة ميزات أحدث وأنشأوا OpenSSH. ساهم Markus Friedl بالدعم لنسختي بروتوكول SSH 1.5 و 2.0.
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org
| $Mdocdate: 23 مارس 2026 $ | Nixpkgs |