SSH_CONFIG(5)

الاسم
ssh_config - ملف ضبط عميل OpenSSH

الوصف
يحصل ssh(1) على بيانات الضبط من المصادر التالية بالترتيب التالي:

1.  خيارات سطر الأوامر
2.  ملف ضبط المستخدم (~/.ssh/config)
3.  ملف ضبط النظام العام (/etc/ssh/ssh_config)

ما لم يذكر خلاف ذلك، ستُستخدم أول قيمة يُحصل عليها لكل معلمة. تحتوي ملفات الضبط على أقسام تفصل بينها مواصفات Host ، ولا يُطبق هذا القسم إلا على المضيفين الذين يطابقون أحد الأنماط الواردة في المواصفة. عادة ما يكون اسم المضيف المطابق هو الاسم المذكور في سطر الأوامر (راجع خيار CanonicalizeHostname للاستثناءات).

نظراً لأن القيمة الأولى التي يُحصل عليها لكل معلمة هي التي تُستخدم، ينبغي وضع الإعلانات الأكثر تخصيصاً للمضيف بالقرب من بداية الملف، والمقادير المبدئية العامة في النهاية.

لاحظ أن حزمة دبيان openssh-client تضبط عدة خيارات بشكل قياسي في /etc/ssh/ssh_config والتي لا تعد مبدئية في ssh(1):

•   Include /etc/ssh/ssh_config.d/*.conf
•   SendEnv LANG LC_* COLORTERM NO_COLOR
•   HashKnownHosts yes
•   GSSAPIAuthentication yes

تُضمّن ملفات /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. يجب أن يكون تحديد التوجيه على أحد الأشكال التالية:

    PermitRemoteOpen host:port
    PermitRemoteOpen IPv4_addr:port
    PermitRemoteOpen [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
    ملف الإعداد الشامل للنظام. يوفر هذا الملف قيمًا مبدئية لتلك القيم التي لم تُحدد في ملف إعداد المستخدم، ولأولئك المستخدمين الذين ليس لديهم ملف إعداد. يجب أن يكون هذا الملف قابلاً للقراءة من الجميع.

انظر أيضًا
ssh(1)

المؤلفون
إن -nosplit 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: https://www.gnu.org/licenses/gpl-3.0.html أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.