Scroll to navigation

SSHD_CONFIG(5) File Formats Manual SSHD_CONFIG(5)

الاسم

sshd_configملف إعدادات عفريت OpenSSH

الوصف

يقرأ sshd(8) ملف الإعداد من /etc/ssh/sshd_config (أو الملف المحدد بواسطة الفتحة -f في سطر الأوامر). يحتوي الملف على أزواج من (الكلمة المفتاحية والوسيط)، بمعدل زوج واحد لكل سطر. ما لم يُذكر خلاف ذلك، تُستخدم أول قيمة تُحصل عليها لكل كلمة مفتاحية. تُفسر السطور التي تبدأ بـ ‘#’ والسطور الفارغة على أنها تعليقات. يمكن اختياريًا إحاطة الوسائط بعلامتي اقتباس مزدوجتين (") لتمثيل الوسائط التي تحتوي على مسافات.

لاحظ أن حزمة دبيان openssh-server تضبط خيارات عدة كمعيار قياسي في /etc/ssh/sshd_config وهي ليست المبدئية في sshd(8):

تُضمّن ملفات /etc/ssh/sshd_config.d/*.conf في بداية ملف الضبط، لذا فإن الخيارات المَضبوطة هناك ستتجاوز تلك المَضبوطة في /etc/ssh/sshd_config.

الكلمات المفتاحية الممكنة ومعانيها هي كما يلي (لاحظ أن الكلمات المفتاحية غير حساسة لحالة الأحرف والوسائط حساسة لها):

تُحدد متغيرات البيئة المرسلة من العميل التي تُنسخ إلى بيئة الجلسة environ(7). راجع SendEnv و SetEnv في ssh_config(5) لمعرفة كيفية إعداد العميل. يُقبل متغير البيئة TERM دائمًا عندما يُطلب طرفية وهمية (pseudo-terminal) من العميل لأنه مطلوب بواسطة البروتوكول. تُحدد المتغيرات بالاسم، وقد تحتوي على محارف برية (wildcard) مثل ‘*’ و ‘?’. يمكن الفصل بين متغيرات البيئة المتعددة بمسافات بيضاء أو توزيعها عبر عدة توجيهات AcceptEnv. يُرجى الحذر من أن بعض متغيرات البيئة قد تُستخدم لتجاوز بيئات المستخدمين المقيدة. لهذا السبب، يجب توخي الحذر عند استخدام هذا التوجيه. الافتراضي هو عدم قبول أي متغيرات بيئية.
يحدد عائلة العناوين (address family) التي يجب استخدامها بواسطة sshd(8). الوسائط الصالحة هي any (المبدئي)، أو inet (استخدام IPv4 فقط)، أو inet6 (استخدام IPv6 only).
يحدد ما إذا كان توجيه ssh-agent(1) مسموحًا به. المبدئي هو yes. لاحظ أن تعطيل توجيه العميل لا يحسن الأمان إلا إذا مُع المستخدمون أيضًا من الوصول إلى الغلاف الأصلي (shell)، حيث يمكنهم دائمًا تثبيت موجهين خاصين بهم.
يمكن أن تُتبع هذه الكلمة المفتاحية بقائمة من أنماط أسماء المجموعات، مفصولة بمسافات. إذا حُددت، فسيُسمح بالولوج فقط للمستخدمين الذين تطابق مجموعتهم الأساسية أو قائمة مجموعاتهم الإضافية أحد الأنماط. أسماء المجموعات فقط هي الصالحة؛ لا يُتعرف على معرف المجموعة الرقمي (GID). بشكل مبدئي، يُسمح بالولوج لجميع المجموعات. لا يُرجع إلى AllowGroups للمجموعات التي تطابق DenyGroups.

انظر قسم PATTERNS في ssh_config(5) لمزيد من المعلومات حول الأنماط. قد تظهر هذه الكلمة المفتاحية عدة مرات في sshd_config حيث تقوم كل نسخة بالإلحاق بالقائمة.

يحدد ما إذا كان توجيه StreamLocal (مقبس نطاق يونكس Unix-domain socket) مسموحًا به. الخيارات المتاحة هي yes (المبدئي) أو all للسماح بتوجيه StreamLocal، و no لمنع كل توجيه StreamLocal، و local للسماح بالتوجيه المحلي فقط (من منظور ssh(1)) ، أو remote للسماح بالتوجيه عن بُعد فقط. لاحظ أن تعطيل توجيه StreamLocal لا يحسن الأمان إلا إذا مُع المستخدمون أيضًا من الوصول إلى الغلاف (shell)، حيث يمكنهم دائمًا تثبيت موجهين خاصين بهم.
يحدد ما إذا كان توجيه TCP مسموحًا به. الخيارات المتاحة هي yes (المبدئي) أو all للسماح بتوجيه TCP، و no لمنع كل توجيه TCP، و local للسماح بالتوجيه المحلي فقط (من منظور ssh(1)) ، أو remote للسماح بالتوجيه عن بُعد فقط. لاحظ أن تعطيل توجيه TCP لا يحسن الأمان إلا إذا مُع المستخدمون أيضًا من الوصول إلى الغلاف (shell)، حيث يمكنهم دائمًا تثبيت موجهين خاصين بهم.
يمكن أن تُتبع هذه الكلمة المفتاحية بقائمة من أنماط أسماء المستخدمين، مفصولة بمسافات. إذا حُددت، فسيُسمح بالولوج فقط لأسماء المستخدمين التي تطابق أحد الأنماط. أسماء المستخدمين فقط هي الصالحة؛ لا يُتعرف على معرف المستخدم الرقمي (UID). بشكل مبدئي، يُسمح بالولوج لجميع المستخدمين. إذا كان النمط يأخذ الشكل USER@HOST فسيتم فحص USER و HOST بشكل منفصل، مما يقيد ولوج لمستخدمين معينين من مضيفين معينين. وقد تحتوي معايير HOST بالإضافة إلى ذلك على عناوين للمطابقة بتنسيق CIDR (العنوان/طول القناع). لا يُرجع إلى AllowUsers للمستخدمين الذين يطابقون DenyUsers.

انظر قسم PATTERNS في ssh_config(5) لمزيد من المعلومات حول الأنماط. قد تظهر هذه الكلمة المفتاحية عدة مرات في sshd_config حيث تقوم كل نسخة بالإلحاق بالقائمة.

تُحدد طرق المصادقة التي يجب إكمالها بنجاح لمنح المستخدم حق الوصول. يجب أن يُتبع هذا الخيار بقائمة واحدة أو أكثر من أسماء طرق المصادقة المفصولة بفاصلة، أو بالسلسلة النصية المفردة any للإشارة إلى السلوك المبدئي المتمثل في قبول أي طريقة مصادقة مفردة. إذا تجاوز المبدئي تتطلب المصادقة الناجحة إكمال كل طريقة في قائمة واحدة على الأقل من هذه القوائم.

على سبيل المثال، تتطلب القيمة "publickey,password publickey,keyboard-interactive" من المستخدم إكمال مصادقة المفتاح العام، متبوعة إما بمصادقة كلمة السر أو المصادقة التفاعلية للوحة المفاتيح (keyboard-interactive). تُقدم الطرق التالية في قائمة واحدة أو أكثر فقط في كل مرحلة، لذلك في هذا المثال لن يكون من الممكن محاولة مصادقة كلمة السر أو المصادقة التفاعلية قبل المفتاح العام.

بالنسبة للمصادقة التفاعلية للوحة المفاتيح، يمكن أيضًا تقييد المصادقة لجهاز معين عن طريق إلحاق نقطتين متبوعتين بمعرف الجهاز bsdauth أو pam ، اعتمادًا على إعدادات الخادم. على سبيل المثال، يقوم "keyboard-interactive:bsdauth" بتقييد المصادقة التفاعلية للوحة المفاتيح بجهاز bsdauth فقط.

إذا أُدرجت طريقة المفتاح العام (publickey) أكثر من مرة، يتحقق sshd(8) من أن المفاتيح التي استُخدمت بنجاح لا يُعاد استخدامها في عمليات المصادقة اللاحقة. على سبيل المثال، يتطلب "publickey,publickey" مصادقة ناجحة باستخدام مفتاحين عامين مختلفين.

لاحظ أن كل طريقة مصادقة مدرجة يجب أن تكون مُمكّنة بشكل صريح أيضًا في الإعدادات.

طرق المصادقة المتاحة هي: "gssapi-with-mic" و "hostbased" و "keyboard-interactive" و "none" (تُستخدم للوصول إلى الحسابات الخالية من كلمات السر عند تمكين PermitEmptyPasswords) و "password" و "publickey".

يحدد برنامجًا يُستخدم للبحث عن المفاتيح العامة للمستخدم. يجب أن يكون البرنامج مملوكًا للمستخدم الجذر (root)، وغير قابل للكتابة من قِبل المجموعة أو الآخرين، ومحددًا بمسار مطلق. تقبل وسائط AuthorizedKeysCommand الرموز (tokens) الموصوفة في قسم TOKENS. إذا لم تُحدد أي وسائط، فسيُستخدم اسم المستخدم الخاص بالمستخدم المستهدف.

يجب أن يُنتج البرنامج على المخرجات القياسية (standard output) صفرًا أو أكثر من السطور الخاصة بمخرجات authorized_keys (انظر AUTHORIZED_KEYS في sshd(8)). يُجرب AuthorizedKeysCommand بعد ملفات AuthorizedKeysFile المعتادة ولن يُنفذ إذا وُجد مفتاح مطابق هناك. بشكل مبدئي، لا يُشغل أي AuthorizedKeysCommand. يُنفذ هذا الأمر فقط للمستخدمين الصالحين.

يحدد المستخدم الذي يُشغل أمر AuthorizedKeysCommand تحت حسابه. يُوصى باستخدام مستخدم مخصص ليس له أي دور آخر على المضيف سوى تشغيل أوامر المفاتيح المصرح بها. إذا حُدد AuthorizedKeysCommand ولم يُحدد AuthorizedKeysCommandUser ، فإن sshd(8) سيرفض البدء.
يحدد الملف الذي يحتوي على المفاتيح العامة المستخدمة لمصادقة المستخدم. التنسيق موصوف في قسم AUTHORIZED_KEYS FILE FORMAT في sshd(8). قد تتضمن وسائط AuthorizedKeysFile محارف برية (wildcards) وتقبل الرموز الموصوفة في قسم TOKENS. بعد التوسيع، يُعتبر AuthorizedKeysFile مسارًا مطلقًا أو مسارًا نسبيًا لدليل المنزل الخاص بالمستخدم. يمكن إدراج ملفات متعددة، مفصولة بمسافات بيضاء. بدلاً من ذلك، يمكن تعيين هذا الخيار إلى none لتخطي التحقق من مفاتيح المستخدم في الملفات. المبدئي هو ".ssh/authorized_keys .ssh/authorized_keys2". تُفحص هذه الملفات فقط للمستخدمين الصالحين.
يحدد برنامجًا يُستخدم لإنشاء قائمة بالمفوضين (principals) المسموح لهم بالشهادات وفقًا لـ AuthorizedPrincipalsFile. يجب أن يكون البرنامج مملوكًا للجذر (root)، وغير قابل للكتابة من قِبل المجموعة أو الآخرين، ومحددًا بمسار مطلق. تُقبل وسائط AuthorizedPrincipalsCommand الرموز الموصوفة في قسم TOKENS. إذا لم تُحدد أي وسائط، فسيُستخدم اسم المستخدم للمستخدم المستهدف.

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

يحدد المستخدم الذي يُشغل أمر AuthorizedPrincipalsCommand تحت حسابه. يُوصى باستخدام مستخدم مخصص ليس له دور آخر على المضيف سوى تشغيل أوامر المفوضين المصرح بها. إذا حُدد AuthorizedPrincipalsCommand ولم يُحدد AuthorizedPrincipalsCommandUser ، فإن sshd(8) سيرفض البدء.
يحدد ملفًا يسرد أسماء المفوضين (principal names) المقبولة لمصادقة الشهادات. عند استخدام شهادات موقعة بواسطة مفتاح مدرج في TrustedUserCAKeys ، فإن هذا الملف يسرد الأسماء التي يجب أن يظهر أحدها في الشهادة ليُقبل للمصادقة. تُسرد الأسماء بمعدل اسم واحد لكل سطر مسبوقًا بخيارات المفتاح (كما هو موصوف في AUTHORIZED_KEYS FILE FORMAT في sshd(8)). تُتجاهل السطور الفارغة والتعليقات التي تبدأ بـ ‘#’.

قد تتضمن وسائط AuthorizedPrincipalsFile محارف برية وتقبل الرموز الموصوفة في قسم TOKENS. بعد التوسيع، يُعتبر AuthorizedPrincipalsFile مسارًا مطلقًا أو مسارًا نسبيًا لدليل منزل المستخدم. المبدئي هو none ، أي عدم استخدام ملف مفوضين؛ وفي هذه الحالة، يجب أن يظهر اسم المستخدم الخاص بالمستخدم في قائمة مفوضي الشهادة ليُقبل. يُفحص هذا الملف فقط للمستخدمين الصالحين.

لاحظ أن AuthorizedPrincipalsFile يُستخدم فقط عندما تتم المصادقة باستخدام مرجع مصدق (CA) مدرج في TrustedUserCAKeys ، ولا يُرجع إليه للمراجع المصدقة الموثوقة عبر ~/.ssh/authorized_keys ، على الرغم من أن خيار المفتاح principals= يقدم ميزة مماثلة (راجع sshd(8) للتفاصيل).

تُرسل محتويات الملف المحدد إلى المستخدم البعيد قبل السماح بالمصادقة. إذا كان الوسيط هو none فلن يُعرض أي لافتة (banner). مبدئيًا، لا يُعرض أي لافتة.
يحدد الخوارزميات المسموح بها لتوقيع الشهادات من قبل سلطات التصديق (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

إذا بدأت القائمة المحددة بمحرف ‘+’ ، فسَيُلحَق الخوارزميات المحددة بالمجموعة المبدئية بدلاً من استبدالها. وإذا بدأت القائمة المحددة بمحرف ‘-’ ، فسَتُزَال الخوارزميات المحددة (بما في ذلك الرموز العامة) من المجموعة المبدئية بدلاً من استبدالها.

لن تُقبل الشهادات الموقعة باستخدام خوارزميات أخرى لمصادقة المفتاح العام أو المصادقة القائمة على المضيف.

يحدد ما إذا كان ينبغي لـ sshd(8) إغلاق القنوات غير النشطة ومدى سرعة ذلك. تُحدد المهلات كزوج أو أكثر من صيغة “type=interval” مفصولة بمسافات بيضاء، حيث يجب أن يكون “type” هو الكلمة المفتاحية الخاصة “global” أو اسم نوع قناة من القائمة أدناه، والذي قد يحتوي اختياريًا على محارف برية.

تحدد قيمة المهلة “interval” بالثواني أو قد تستخدم أيًا من الوحدات الموثقة في قسم TIME FORMATS. على سبيل المثال، سيؤدي “session=5m” إلى إنهاء الجلسات التفاعلية بعد خمس دقائق من عدم النشاط. تحديد قيمة صفرية يعطل مهلة عدم النشاط.

تنطبق المهلة الخاصة “global” على جميع القنوات النشطة مجتمعة. حركة السر على أي قناة نشطة ستعيد ضبط المهلة، ولكن عندما تنتهي المهلة فستُغلق جميع القنوات المفتوحة. لاحظ أن هذه المهلة العامة لا تُطابقها الرموز البديلة ويجب تحديدها صراحة.

تتضمن أسماء أنواع القنوات المتاحة:

فتح اتصالات بـ ssh-agent(1).
, direct-streamlocal@openssh.com
فتح اتصالات مقبس TCP أو Unix (على التوالي) التي أُنشِئَت من توجيه محلي لـ ssh(1) ، أي LocalForward أو DynamicForward.
, forwarded-streamlocal@openssh.com
تفتح اتصالات مقبس TCP أو Unix (على التوالي) التي أُنشِئَت إلى sshd(8) الذي يستمع نيابة عن توجيه بعيد لـ ssh(1) ، أي RemoteForward.
جلسة العمل الرئيسة التفاعلية، بما في ذلك جلسة الصدفة، وتنفيذ الأوامر، و scp(1) ، و sftp(1) ، وما إلى ذلك.
فتح اتصالات TunnelForward.
فتح جلسات توجيه X11.

لاحظ أنه في جميع الحالات المذكورة أعلاه، فإن إنهاء جلسة غير نشطة لا يضمن إزالة جميع الموارد المرتبطة بالجلسة، على سبيل المثال عمليات الصدفة أو عملاء X11 المتعلقين بالجلسة قد يستمرون في العمل.

علاوة على ذلك، فإن إنهاء قناة أو جلسة غير نشطة لا يغلق بالضرورة اتصال SSH، ولا يمنع العميل من طلب قناة أخرى من نفس النوع. وبشكل خاص، فإن انتهاء صلاحية جلسة توجيه غير نشطة لا يمنع إنشاء توجيه آخر مماثل لاحقًا.

المبدئي هو عدم إنهاء صلاحية القنوات من أي نوع بسبب عدم النشاط.

يحدد اسم المسار لدليل لتطبيق أمر السجن chroot(2) إليه بعد المصادقة. عند بدء الجلسة، يتحقق sshd(8) من أن جميع مكونات اسم المسار هي أدلة مملوكة للجذر (root) وغير قابلة للكتابة من قِبل المجموعة أو الآخرين. بعد عملية chroot، يغير sshd(8) دليل العمل إلى دليل منزل المستخدم. تقبل وسائط ChrootDirectory الرموز الموصوفة في قسم TOKENS.

يجب أن يحتوي ChrootDirectory على الملفات والأدلة اللازمة لدعم جلسة المستخدم. بالنسبة للجلسة التفاعلية، يتطلب هذا على الأقل غلافًا (shell)، عادةً sh(1) ، وعقد /dev الأساسية مثل أجهزة null(4) و zero(4) و stdin(4) و stdout(4) و stderr(4) و tty(4). بالنسبة لجلسات نقل الملفات باستخدام SFTP، لا يلزم أي إعداد إضافي للبيئة إذا استُخدم خادم sftp المدمج (in-process)، على الرغم من أن الجلسات التي تستخدم التسجيل (logging) قد تتطلب وجود /dev/log داخل دليل chroot في بعض أنظمة التشغيل (راجع sftp-server(8) للتفاصيل).

للسلامة، من المهم جدًا منع تعديل الهيكل الشجري للأدلة من قِبل العمليات الأخرى في النظام (خاصة تلك الموجودة خارج السجن). يمكن أن يؤدي سوء الإعداد إلى بيئات غير آمنة لا يستطيع sshd(8) اكتشافها.

المبدئي هو none ، مما يشير إلى عدم استخدام chroot(2).

يحدد الشفرات (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".

يحدد عدد رسائل الحفاظ على حياة العميل (client alive messages) التي يمكن إرسالها دون أن يتلقى sshd(8) أي رسائل في المقابل من العميل. إذا وُصلَ إلى هذا الحد الأدنى أثناء إرسال الرسائل، فسيقوم sshd بفصل العميل وإنهاء الجلسة. من المهم ملاحظة أن استخدام رسائل حياة العميل يختلف تمامًا عن خيار TCPKeepAlive. تُرسل رسائل حياة العميل عبر القناة المشفرة وبالتالي لا يمكن تزويرها (non-spoofable). أما خيار TCP keepalive المُمكّن بواسطة TCPKeepAlive فهو قابل للتزوير. آلية الحفاظ على حياة العميل قيمة للغاية عندما يعتمد العميل أو الخادم على معرفة متى يصبح الاتصال غير مستجيب.

القيمة المبدئية هي 3. إذا عُين ClientAliveInterval على 15، وتُرك ClientAliveCountMax على القيمة المبدئية، فسيُفصل عملاء SSH غير المستجيبين بعد 45 ثانية تقريبًا. تعيين قيمة صفر في ClientAliveCountMax يعطل إنهاء الاتصال.

يحدد فاصل مهلة زمني بالثواني، والذي إذا لم تُتلق أي بيانات بعده من العميل، فسيقوم sshd(8) بإرسال رسالة عبر القناة المشفرة لطلب استجابة من العميل. المبدئي هو 0، مما يشير إلى أن هذه الرسائل لن تُرسل إلى العميل.
يحدد ما إذا كان الضغط مُمكّنًا بعد نجاح مصادقة المستخدم. يجب أن يكون الوسيط إما yes ، أو delayed (مرادف قديم لـ yes) ، أو no. المبدئي هو yes.
يحدد ما إذا كانت اللاحقة الإضافية للإصدار المحددة من التوزيعة تُضمّن أثناء المصافحة الأولية للبروتوكول. المبدئي هو yes.
يمكن أن تُتبع هذه الكلمة المفتاحية بقائمة من أنماط أسماء المجموعات، مفصولة بمسافات. يُرفض ولوج للمستخدمين الذين تطابق مجموعتهم الأساسية أو قائمة مجموعاتهم الإضافية أحد الأنماط. أسماء المجموعات فقط هي الصالحة؛ لا يُتعرف على معرف المجموعة الرقمي. بشكل مبدئي، يُسمح بالولوج لجميع المجموعات. لا يُرجع إلى AllowGroups للمجموعات التي تطابق DenyGroups.

انظر قسم PATTERNS في ssh_config(5) لمزيد من المعلومات حول الأنماط. قد تظهر هذه الكلمة المفتاحية عدة مرات في sshd_config حيث تقوم كل نسخة بالإلحاق بالقائمة.

يمكن أن تُتبع هذه الكلمة المفتاحية بقائمة من أنماط أسماء المستخدمين، مفصولة بمسافات. يُحظر ولوج لأسماء المستخدمين التي تطابق أحد الأنماط. أسماء المستخدمين فقط هي الصالحة؛ لا يُتعرف على معرف المستخدم الرقمي. بشكل مبدئي، يُسمح بالولوج لجميع المستخدمين. إذا كان النمط يأخذ الشكل USER@HOST فسيتم فحص USER و HOST بشكل منفصل، مما يقيد ولوج لمستخدمين معينين من مضيفين معينين. قد تحتوي معايير HOST بالإضافة إلى ذلك على عناوين للمطابقة بتنسيق CIDR. لا يُرجع إلى AllowUsers للمستخدمين الذين يطابقون DenyUsers.

انظر قسم PATTERNS في ssh_config(5) لمزيد من المعلومات حول الأنماط. قد تظهر هذه الكلمة المفتاحية عدة مرات في sshd_config حيث تقوم كل نسخة بالإلحاق بالقائمة.

يعطل جميع ميزات التوجيه (forwarding)، بما في ذلك X11 و ssh-agent(1) و TCP و StreamLocal. يتجاوز هذا الخيار جميع الخيارات الأخرى المتعلقة بالتوجيه وقد يبسط الإعدادات المقيدة.
يكتب ملفًا مؤقتًا يحتوي على قائمة بطرق المصادقة والاعتمادات العامة (مثل المفاتيح) المستخدمة لمصادقة المستخدم. يُكشف موقع الملف لجلسة المستخدم من خلال متغير البيئة SSH_USER_AUTH. المبدئي هو no.
يحدد خوارزمية التجزئة (hash algorithm) المستخدمة عند تسجيل بصمات المفاتيح. الخيارات الصالحة هي: md5 و sha256. المبدئي هو sha256.
يجبر على تنفيذ الأمر المحدد بواسطة ForceCommand ، متجاهلاً أي أمر يقدمه العميل وملف ~/.ssh/rc في حال وجوده. يُستدعى الأمر باستخدام غلاف ولوج الخاص بالمستخدم مع خيار -c. ينطبق هذا على تنفيذ الغلاف أو الأمر أو النظام الفرعي. يكون هذا الخيار مفيدًا للغاية داخل كتلة Match. يتوفر الأمر الأصلي الذي قدمه العميل في متغير البيئة SSH_ORIGINAL_COMMAND. تحديد الأمر بـ internal-sftp سيجبر على استخدام خادم SFTP مدمج لا يتطلب ملفات دعم عند استخدامه مع ChrootDirectory. المبدئي هو none.

لا يحد هذا التوجيه من أنواع الوصول الأخرى التي قد يطلبها العميل عبر اتصاله، مثل توجيه TCP أو العميل (agent) أو المقبس (socket) أو X11. إذا كانت هذه الميزات غير مرغوب فيها، فيجب تعطيلها صراحةً، إما بشكل فردي عبر خياراتها الخاصة أو معًا باستخدام خيار DisableForwarding.

يحدد ما إذا كان يُسمح للمضيفين البعيدين بالاتصال بالمنافذ الموجهة للعميل. بشكل مبدئي، يربط sshd(8) توجيه المنافذ البعيدة بعنوان الحلقة المحلية (loopback address). هذا يمنع المضيفين البعيدين الآخرين من الاتصال بالمنافذ الموجهة. يمكن استخدام GatewayPorts لتحديد أن sshd يجب أن يسمح لتوجيه المنافذ البعيدة بالارتباط بعناوين غير حلقة محلية، وبالتالي السماح للمضيفين الآخرين بالاتصال. قد يكون الوسيط no لجعل توجيه المنافذ البعيدة متاحًا للمضيف المحلي فقط، أو yes لإجبار توجيه المنافذ البعيدة على الارتباط بالعنوان البري (wildcard address)، أو clientspecified للسماح للعميل باختيار العنوان الذي يرتبط به التوجيه. المبدئي هو no.
يحدد ما إذا كان مصادقة المستخدم القائمة على GSSAPI مسموحاً بها. المبدئي هو no.
يحدد ما إذا كانت ذاكرة التخزين المؤقت لاعتمادات المستخدم (credentials cache) ستُدمر تلقائيًا عند تسجيل الخروج. المبدئي هو yes.
قبول الاعتمادات المفوضة (delegated credentials) من جانب الخادم. المبدئي هو yes.
يُحدد ما إذا كان تبادل المفاتيح القائم على GSSAPI مسموحاً به. لا يعتمد تبادل مفاتيح GSSAPI على مفاتيح ssh للتحقق من هوية المضيف. المبدئي هو no.
يحدد ما إذا كان يجب التشدد بشأن هوية مستقبل GSSAPI (GSSAPI acceptor) الذي يتصادق العميل ضده. إذا عُين على yes ، فيجب على العميل المصادقة ضد خدمة المضيف على اسم المضيف الحالي. وإذا عُين على no ، فقد يتصادق العميل ضد أي مفتاح خدمة مخزن في المخزن المبدئي للجهاز. تُوفر هذه الميزة للمساعدة في العمل على الأجهزة ذات الواجهات الشبكية المتعددة (multi-homed). المبدئي هو yes.
يُتحكم في ما إذا كان ينبغي تحديث اعتمادات GSSAPI الخاصة بالمستخدم بعد إعادة تبادل المفاتيح بنجاح للاتصال. يمكن استخدام هذا الخيار لقَبول الاعتمادات المجددة أو المحدثة من عميل متوافق. المبدئي هو “no”.

لكي يعمل هذا، يجب تمكين GSSAPIKeyExchange في الخادم واستخدامه أيضًا بواسطة العميل.

قائمة خوارزميات تبادل المفاتيح المقبولة بواسطة تبادل مفاتيح 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.

يحدد خوارزميات التوقيع المقبولة للمصادقة القائمة على المضيف (hostbased authentication) كقائمة من الأنماط المفصولة بفاصلة. بدلاً من ذلك، إذا بدأت القائمة المحددة بمحرف الفتحة ‘+’ ، فسيتم إلحاق خوارزميات التوقيع المحددة بالمجموعة المبدئية بدلاً من استبدالها. وإذا بدأت القائمة بمحرف الطرح ‘-’ ، فسيتم إزالة خوارزميات التوقيع المحددة (بما في ذلك المحارف البرية) من المجموعة المبدئية بدلاً من استبدالها. وإذا بدأت القائمة بمحرف الأس ‘^’ ، فسيتم وضع خوارزميات التوقيع المحددة في مقدمة المجموعة المبدئية. المبدئي لهذا الخيار هو:
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 HostbasedAcceptedAlgorithms". كان هذا الخيار يسمى سابقًا HostbasedAcceptedKeyTypes.

يحدد ما إذا كانت مصادقة rhosts أو /etc/hosts.equiv مسموحًا بها جنبًا إلى جنب مع مصادقة مفتاح عام ناجحة لمضيف العميل (المصادقة القائمة على المضيف). المبدئي هو no.
يحدد ما إذا كان الخادم سيحاول إجراء بحث عكسي عن الاسم (reverse name lookup) عند مطابقة الاسم في ملفات ~/.shosts و ~/.rhosts و /etc/hosts.equiv أثناء عملية HostbasedAuthentication. يعني التعيين على yes أن sshd(8) يستخدم الاسم المقدم من العميل بدلاً من محاولة حل الاسم (resolve) من اتصال TCP نفسه. المبدئي هو no.
يحدد ملفًا يحتوي على شهادة مضيف عامة. يجب أن يطابق المفتاح العام للشهادة مفتاح مضيف خاصًا محددًا بالفعل بواسطة HostKey. السلوك المبدئي لـ sshd(8) هو عدم تحميل أي شهادات.
يحدد ملفًا يحتوي على مفتاح مضيف خاص مستخدم بواسطة SSH. القيم المبدئية هي /etc/ssh/ssh_host_ecdsa_key و /etc/ssh/ssh_host_ed25519_key و /etc/ssh/ssh_host_rsa_key.

لاحظ أن sshd(8) سيرفض استخدام أي ملف إذا كان متاحًا للقراءة/الكتابة من قِبل المجموعة أو العامة (group/world-accessible)، وأن خيار HostKeyAlgorithms يقيد أي المفاتيح تُستخدم فعليًا بواسطة sshd(8).

من الممكن وجود عدة ملفات لمفاتيح المضيف. ومن الممكن أيضًا تحديد ملفات مفاتيح مضيف عامة بدلاً من ذلك. وفي هذه الحالة، ستُفوض العمليات التي تتم على المفتاح الخاص إلى ssh-agent(1).

يحدد مقبس نطاق يونكس (UNIX-domain socket) المستخدم للتواصل مع عميل (agent) لديه صلاحية الوصول إلى مفاتيح المضيف الخاصة. إذا حُدد السلسلة النصية "SSH_AUTH_SOCK" ، فسيُقرأ موقع المقبس من متغير البيئة SSH_AUTH_SOCK.
يحدد خوارزميات توقيع مفتاح المضيف التي يقدمها الخادم. المبدئي لهذا الخيار هو:
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 HostKeyAlgorithms".

يحدد ما إذا كانت ملفات .rhosts و .shosts الخاصة بكل مستخدم ستُتجاهل أثناء HostbasedAuthentication. تظل ملفات النظام الشاملة /etc/hosts.equiv و /etc/ssh/shosts.equiv مستخدمة بغض النظر عن هذا التعيين.

القيم المقبولة هي yes (المبدئي) لتجاهل جميع الملفات الخاصة بالمستخدمين، أو shosts-only للسماح باستخدام .shosts مع تجاهل .rhosts ، أو no للسماح بكل من .shosts و rhosts.

يحدد ما إذا كان ينبغي لـ sshd(8) تجاهل ملف الـ ~/.ssh/known_hosts الخاص بالمستخدم أثناء HostbasedAuthentication واستخدام ملف المضيفين المعروفين الشامل للنظام فقط /etc/ssh/ssh_known_hosts. المبدئي هو “no”.
تُضمّن ملف أو ملفات الإعداد المحددة. يمكن تحديد مسارات متعددة، ويمكن لكل مسار أن يحتوي على محارف برية لـ glob(7) والتي ستُوسع وتُعالج بالترتيب المعجمي. يُفترض أن الملفات التي لا تحتوي على مسارات مطلقة موجودة في دليل /etc/ssh. قد يظهر توجيه Include داخل كتلة Match لإجراء تضمين مشروط.
تُحدد قيمة نقطة ترميز حقل الخدمات المتمايزة (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 (التوجيه المعجل Expedited Forwarding) للجلسات التفاعلية و none (المبدئي لنظام التشغيل) للجلسات غير التفاعلية.
يحدد ما إذا كان يُسمح بالاستيثاق التفاعلي عبر لوحة المفاتيح. المبدئي هو yes. يجب أن يكون المعطى الممرر لهذه الكلمة المفتاحية yes أو no. يُعد ChallengeResponseAuthentication اسماً مستعاراً مهجوراً لهذا الخيار.
يُحدد ما إذا كانت كلمة السر التي يقدمها المستخدم لـ PasswordAuthentication ستُتحقق من صحتها من خلال مركز توزيع مفاتيح كيربيروس (Kerberos KDC). لاستخدام هذا الخيار، يحتاج الخادم إلى ملف servtab الخاص بكيربيروس والذي يسمح بالتحقق من هوية الـ KDC. المبدئي هو no.
إذا كان نظام الملفات أندرو (AFS) نشطًا وكان لدى المستخدم بطاقة كيربيروس 5 (Kerberos 5 TGT)، فستُحاول الحصول على رمز AFS المميز (AFS token) قبل الوصول إلى دليل منزل المستخدم. المبدئي هو no.
إذا فشلت مصادقة كلمة السر من خلال كيربيروس، فستُتحقق صحة كلمة السر عبر أي آلية محلية إضافية مثل ملف /etc/passwd. المبدئي هو yes.
يُحدد ما إذا كان ملف ذاكرة التخزين المؤقت للتذاكر (ticket cache file) الخاص بالمستخدم سيُدمر تلقائيًا عند تسجيل الخروج. المبدئي هو yes.
يحدد خوارزميات تبادل المفاتيح (KEX) المسموح بها والتي سيقدمها الخادم للعملاء. ترتيب هذه القائمة ليس مهمًا، لأن العميل هو من يحدد ترتيب التفضيل. يجب الفصل بين الخوارزميات المتعددة بفاصلة.

إذا بدأت القائمة المحددة بمحرف ‘+’ ، فسَتُلحَق الخوارزميات المحددة بالمجموعة المبدئية بدلاً من استبدالها. وإذا بدأت القائمة المحددة بمحرف ‘-’ ، فسَتُزَال الخوارزميات المحددة (بما في ذلك الرموز العامة) من المجموعة المبدئية بدلاً من استبدالها. وإذا بدأت القائمة المحددة بمحرف ‘^’ ، فسَتُوضَع الخوارزميات المحددة في بداية المجموعة المبدئية.

الخوارزميات المدعومة هي:

  • curve25519-sha256
  • curve25519-sha256@libssh.org
  • diffie-hellman-group1-sha1
  • diffie-hellman-group14-sha1
  • diffie-hellman-group14-sha256
  • diffie-hellman-group16-sha512
  • diffie-hellman-group18-sha512
  • diffie-hellman-group-exchange-sha1
  • diffie-hellman-group-exchange-sha256
  • ecdh-sha2-nistp256
  • ecdh-sha2-nistp384
  • ecdh-sha2-nistp521
  • mlkem768x25519-sha256
  • sntrup761x25519-sha512
  • sntrup761x25519-sha512@openssh.com

المبدئي هو:

mlkem768x25519-sha256,
sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,
curve25519-sha256,curve25519-sha256@libssh.org,
ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521

يمكن أيضًا الحصول على قائمة خوارزميات تبادل المفاتيح المدعومة باستخدام الأمر "ssh -Q KexAlgorithms".

تُحدد العناوين المحلية التي يجب أن يستمع (listen) إليها sshd(8). يمكن استخدام الأشكال التالية:

يطلب المؤهل الاختياري rdomain من sshd(8) الإنصات في نطاق توجيه صريح. إذا لم يُحدد port ، فسينصت sshd على العنوان وجميع خيارات Port المحددة. المبدئي هو الإنصات على جميع العناوين المحلية في نطاق التوجيه المبدئي الحالي. يُسمح بخيارات ListenAddress متعددة.

على نظام لينكس، تُنفّذ نطاقات التوجيه باستخدام نطاقات التوجيه وإعادة التوجيه المبدئية (VRFs)؛ لمزيد من المعلومات، انظر ip-vrf(8).

يقوم الخادم بفصل الاتصال بعد هذا الوقت إذا لم يقم المستخدم بالولوج بنجاح. إذا كانت القيمة 0، فلا يوجد حد زمني. المبدئي هو 120 ثانية.
يحدد مستوى الإسهاب (verbosity level) المستخدم عند تسجيل الرسائل من sshd(8). القيم الممكنة هي: QUIET، و FATAL، و ERROR، و INFO، و VERBOSE، و DEBUG، و DEBUG1، و DEBUG2، و DEBUG3. المبدئي هو INFO. المستويان DEBUG و DEBUG1 متكافئان. يحدد كل من DEBUG2 و DEBUG3 مستويات أعلى من مخرجات التنقيب عن الأخطاء (debugging). التسجيل بمستوى DEBUG ينتهك خصوصية المستخدمين ولا يُنصح به.
تحديد تجاوز (override) واحد أو أكثر لـ LogLevel. يتكون التجاوز من قائمة أنماط واحدة أو أكثر تطابق ملف المصدر، والدالة، ورقم السطر لفرض تسجيل مفصل لها. على سبيل المثال، نمط التجاوز يكون:
kex.c:*:1000,*:kex_exchange_identification():*,packet.c:*

سيفعل التسجيل المفصل للسطر 1000 من kex.c ، وكل شيء في دالة () ، وجميع الأكواد في ملف packet.c. هذا الخيار مخصص للتنقيح ولا توجد تجاوزات مفعّلة مبدئيًا.

تُحدد خوارزميات كود مصادقة الرسائل (MAC) المتاحة. تُستخدم خوارزمية MAC لحماية سلامة البيانات (data integrity). يجب الفصل بين الخوارزميات المتعددة بفاصلة. إذا بدأت القائمة المحددة بمحرف الفتحة ‘+’ ، فسيتم إلحاق الخوارزميات المحددة بالمجموعة المبدئية بدلاً من استبدالها. وإذا بدأت بمحرف الطرح ‘-’ ، فسيتم إزالة الخوارزميات المحددة (بما في ذلك المحارف البرية) من المجموعة المبدئية بدلاً من استبدالها. وإذا بدأت بمحرف الأس ‘^’ ، فسيتم وضع الخوارزميات المحددة في مقدمة المجموعة المبدئية.

الخوارزميات التي تحتوي على اللاحقة "-etm" تقوم بحساب الـ MAC بعد التشفير (التشفير أولاً ثم كود المصادقة encrypt-then-mac). تعتبر هذه الخوارزميات أكثر أمانًا ويوصى باستخدامها. أكواد MAC المدعومة هي:

  • hmac-md5
  • hmac-md5-96
  • hmac-sha1
  • hmac-sha1-96
  • hmac-sha2-256
  • hmac-sha2-512
  • umac-64@openssh.com
  • umac-128@openssh.com
  • hmac-md5-etm@openssh.com
  • hmac-md5-96-etm@openssh.com
  • hmac-sha1-etm@openssh.com
  • hmac-sha1-96-etm@openssh.com
  • hmac-sha2-256-etm@openssh.com
  • hmac-sha2-512-etm@openssh.com
  • umac-64-etm@openssh.com
  • umac-128-etm@openssh.com

المبدئي هو:

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".

تُقدم كتلة شرطية (conditional block). إذا استوفي جميع المعايير في سطر Match ، فإن الكلمات المفتاحية في السطور التالية تتجاوز تلك المحددة في القسم العام لملف الإعداد، حتى الوصول إلى سطر Match آخر أو إلى نهاية الملف. إذا ظهرت كلمة مفتاحية في عدة كتل Match مستوفاة الشروط، فسيتم تطبيق النسخة الأولى فقط من الكلمة المفتاحية.

المعطيات الممررة إلى Match هي زوج أو أكثر من (المعيار-النمط) أو أحد معايير الرمز الواحد: All ، الذي يطابق جميع المعايير، أو Invalid-User ، الذي يطابق عندما لا يتوافق اسم المستخدم المطلوب مع أي حساب معروف. المعايير المتاحة هي User ، و Group ، و Host ، و LocalAddress ، و LocalPort ، و Version ، و RDomain ، و Address (حيث يمثل RDomain نطاق التوجيه الذي استُقبل الاتصال عليه؛ انظر ip-vrf(8)).

قد تتكون أنماط المطابقة من إدخالات مفردة أو قوائم مفصولة بفاصلة، ويمكنها استخدام محارف البرية وعوامل النفي (negation) الموصوفة في قسم PATTERNS في ssh_config(5).

قد تحتوي الأنماط في معيار Address بالإضافة إلى ذلك على عناوين للمطابقة بتنسيق CIDR (العنوان/طول القناع)، مثل 192.0.2.0/24 أو 2001:db8::/32. لاحظ أن طول القناع المقدم يجب أن يكون متسقًا مع العنوان؛ حيث يعد خطأً تحديد طول قناع طويل جدًا بالنسبة للعنوان أو قناع يحتوي على بتات نشطة في جزء المضيف من العنوان. على سبيل المثال، 192.0.2.0/33 و 192.0.2.0/8 على التوالي.

تطابق الكلمة المفتاحية Version مقابل سلسلة نص الإصدار الخاص بـ sshd(8) ، على سبيل المثال “OpenSSH_10.0”.

لا يمكن استخدام سوى مجموعة فرعية من الكلمات المفتاحية في السطور التي تلي الكلمة المفتاحية Match. الكلمات المفتاحية المتاحة هي AcceptEnv ، و AllowAgentForwarding ، و AllowGroups ، و AllowStreamLocalForwarding ، و AllowTcpForwarding ، و AllowUsers ، و AuthenticationMethods ، و AuthorizedKeysCommand ، و AuthorizedKeysCommandUser ، و AuthorizedKeysFile ، و AuthorizedPrincipalsCommand ، و AuthorizedPrincipalsCommandUser ، و AuthorizedPrincipalsFile ، و Banner ، و CASignatureAlgorithms ، و ChannelTimeout ، و ChrootDirectory ، و ClientAliveCountMax ، و ClientAliveInterval ، و DenyGroups ، و DenyUsers ، و DisableForwarding ، و ExposeAuthInfo ، و ForceCommand ، و GatewayPorts ، و GSSAPIAuthentication ، و HostbasedAcceptedAlgorithms ، و HostbasedAuthentication ، و HostbasedUsesNameFromPacketOnly ، و IgnoreRhosts ، و Include ، و IPQoS ، و KbdInteractiveAuthentication ، و KerberosAuthentication ، و LogLevel ، و MaxAuthTries ، و MaxSessions ، و PAMServiceName ، و PasswordAuthentication ، و PermitEmptyPasswords ، و PermitListen ، و PermitOpen ، و PermitRootLogin ، و PermitTTY ، و PermitTunnel ، و PermitUserRC ، و PubkeyAcceptedAlgorithms ، و PubkeyAuthentication ، و PubkeyAuthOptions ، و RefuseConnection ، و RekeyLimit ، و RevokedKeys ، و SetEnv ، و StreamLocalBindMask ، و StreamLocalBindUnlink ، و TrustedUserCAKeys ، و UnusedConnectionTimeout ، و X11DisplayOffset ، و X11Forwarding و X11UseLocalhost.

يُحدد الحد الأقصى لعدد محاولات المصادقة المسموح بها لكل اتصال. بمجرد أن يصل عدد المحاولات الفاشلة إلى نصف هذه القيمة، تُسجل الإخفاقات الإضافية في السجل. المبدئي هو 6.
يُحدد الحد الأقصى لعدد جلسات الغلاف (shell) أو ولوج أو النظام الفرعي (مثل sftp) المفتوحة المسموح بها لكل اتصال شبكي. يمكن إنشاء جلسات متعددة بواسطة العملاء الذين يدعمون تعدد الإرسال للاتصالات (connection multiplexing). تعيين MaxSessions إلى 1 سيؤدي فعليًا إلى تعطيل تعدد إرسال الجلسات، في حين أن تعيينه إلى 0 سيمنع جميع جلسات الغلاف وتسجيل الدخول والنظام الفرعي مع الاستمرار في السماح بالتوجيه. المبدئي هو 10.
يُحدد الحد الأقصى لعدد الاتصالات المتزامنة غير المصادق عليها لعفريت SSH. ستُسقط (drop) الاتصالات الإضافية حتى تنجح المصادقة أو تنتهي مهلة LoginGraceTime الخاصة بالاتصال.

بدلاً من ذلك، يمكن تمكين الإسقاط المبكر العشوائي (random early drop) عن طريق تحديد القيم الثلاث المفصولة بنقطتين بالصيغة start:rate:full (على سبيل المثال "10:30:60"). المبدئي هو 10:30:100. سيرفض sshd(8) محاولات الاتصال باحتمالية rate/100 (أي 30%) إذا كان هناك حاليًا عدد start (أي 10) من الاتصالات غير المصادق عليها. تزداد الاحتمالية خطيًا وتُرفض جميع محاولات الاتصال إذا وصل عدد الاتصالات غير المصادق عليها إلى full (أي 60).

يحدد ملف moduli(5) الذي يحتوي على مجموعات ديفي-هيلمان (Diffie-Hellman groups) المستخدمة في طرق تبادل المفاتيح “diffie-hellman-group-exchange-sha1” و “diffie-hellman-group-exchange-sha256”. المبدئي هو /etc/ssh/moduli.
يُحدد اسم الخدمة المستخدم لوحدات المصادقة القابلة للتوصيل (PAM) للمصادقة، والتفويض، وعناصر التحكم في الجلسة عند تمكين خيار UsePAM. المبدئي هو sshd.
يحدد ما إذا كان مسموحًا بالمصادقة عبر كلمة السر. المبدئي هو yes.
عند السماح بالمصادقة عبر كلمة السر، يحدد هذا الخيار ما إذا كان الخادم يسمح بالولوج إلى الحسابات ذات سلاسل كلمات السر الفارغة. المبدئي هو no.
تُحدد العناوين/المنافذ التي يمكن لتوجيه منافذ TCP البعيدة الاستماع عليها. يجب أن تكون مواصفات الاستماع بأحد الأشكال التالية:

يمكن تحديد أذونات متعددة عن طريق الفصل بينها بمسافات بيضاء. يمكن استخدام الوسيط any لإزالة جميع القيود والسماح بأي طلبات استماع. ويمكن استخدام الوسيط none لحظر جميع طلبات الاستماع. قد يحتوي اسم المضيف على محارف برية كما هو موصوف في قسم PATTERNS في ssh_config(5). يمكن أيضًا استخدام محرف البرية ‘*’ بدلاً من رقم المنفذ للسماح بجميع المنافذ. بشكل مبدئي، يُسمح بجميع طلبات الاستماع لتوجيه المنافذ. لاحظ أن خيار GatewayPorts قد يقيد بشكل أكبر العناوين التي يمكن الاستماع عليها. لاحظ أيضًا أن ssh(1) سيطلب مضيف استماع باسم “localhost” إذا لم يطلب مضيف استماع محدد، ويُعالج هذا الاسم بشكل مختلف عن عناوين localhost الصريحة مثل “127.0.0.1” و “::1”.

يحدد الوجهات التي يُسمح بتوجيه منافذ TCP إليها. يجب أن تكون مواصفات التوجيه بأحد الأشكال التالية:

يمكن تحديد عمليات توجيه متعددة عن طريق الفصل بينها بمسافات بيضاء. يُستخدم الوسيط any لإزالة جميع القيود والسماح بأي طلبات توجيه. ويُستخدم الوسيط none لحظر جميع طلبات التوجيه. يُستخدم محرف البرية ‘*’ للمضيف أو المنفذ للسماح بجميع المضيفين أو المنافذ على التوالي. خلاف ذلك، لا تُجرى مطابقة للأنماط أو عمليات بحث عن العناوين للأسماء المقدمة. بشكل مبدئي، يُسمح بجميع طلبات توجيه المنافذ.

يحدد ما إذا كان بإمكان المستخدم الجذر (root) ولوج باستخدام ssh(1). يجب أن يكون الوسيط إما yes ، أو prohibit-password ، أو forced-commands-only ، أو no. المبدئي هو prohibit-password.

إذا ضُبط هذا الخيار على prohibit-password (أو اسمه المستعار المهجور، without-password) ، يُعطّل الاستيثاق بكلمة السر والاستيثاق التفاعلي عبر لوحة المفاتيح للمستخدم الجذر (root).

إذا ضُبط هذا الخيار على forced-commands-only ، فسيُسمح بولوج المستخدم الجذر باستخدام استيثاق المفتاح العلني، ولكن فقط إذا حُدّد خيار الأمر command (والذي قد يكون مفيدًا لأخذ النسخ الاحتياطية عن بُعد حتى لو كان ولوج المستخدم الجذر غير مسموح به عادةً). تُعطّل جميع طرق الاستيثاق الأخرى للمستخدم الجذر.

إذا ضُبط هذا الخيار على no ، فلا يُسمح للمستخدم الجذر بالولوج.

يحدد ما إذا كان تخصيص الطرفية الوهمية pty(4) مسموحًا به. القيمة المبدئية هي yes.
يحدد ما إذا كان توجيه جهاز النفق tun(4) مسموحًا به. يجب أن يكون المعطى yes ، أو point-to-point (الطبقة 3)، أو ethernet (الطبقة 2)، أو no. يتيح تحديد yes كلا الخيارين point-to-point و ethernet. القيمة المبدئية هي no.

بصرف النظر عن هذا الضبط، يجب أن تسمح أذونات جهاز tun(4) المحدد للمستخدم بالوصول إليه.

يُحدد ما إذا كانت الخيارات في ~/.ssh/environment و environment= في ملف ~/.ssh/authorized_keys تُعالج بواسطة sshd(8). الخيارات الصالحة هي yes أو no أو قائمة أنماط تحدد أسماء متغيرات البيئة التي تُقبل (على سبيل المثال "LANG,LC_*"). القيمة المبدئية هي no. قد يُتيح تمكين معالجة البيئة للمستخدمين تجاوز قيود الوصول في بعض التشكيلات باستخدام آليات مثل LD_PRELOAD.
يحدد ما إذا كان أي ملف ~/.ssh/rc يُنفّذ. القيمة المبدئية هي yes.
يحدد عدد الاتصالات غير المستوثق منها المسموح بها من عنوان مصدر معين، أو “none” إذا لم يكن هناك حد. يُطبّق هذا الحد بالإضافة إلى MaxStartups ، أيهما أقل. القيمة المبدئية هي none.
يحدد عدد بتات عنوان المصدر التي تُجمع معًا لأغراض تطبيق حدود PerSourceMaxStartups. يمكن تحديد قيم لـ IPv4 واختياريًا لـ IPv6، مفصولة بنقطتين رأسيتين. القيمة المبدئية هي 32:128 ، مما يعني أن كل عنوان يُعامل على حدة.
يُتحكم في العقوبات المفروضة على الحالات المختلفة التي قد تمثل هجمات على sshd(8). إذا فُرِضت عقوبة على عميل، فسيُرفض اتصال عنوان مصدره وأي عناوين أخرى في الشبكة نفسها، كما هو محدد بواسطة PerSourceNetBlockSize ، لفترة من الوقت.

لا تؤثر العقوبة على الاتصالات المتزامنة الجارية، ولكن العقوبات المتعددة من المصدر نفسه عبر الاتصالات المتزامنة ستتراكم حتى تصل إلى الحد الأقصى. وعلى العكس من ذلك، لا تُطبّق العقوبات حتى يتراكم حد أدنى من وقت العتبة.

تُمكّن العقوبات مبدئيًا مع الإعدادات المبدئية المدرجة أدناه ولكن يمكن تعطيلها باستخدام الكلمة المفتاحية no. يمكن تجاوز القيم المبدئية عن طريق تحديد كلمة مفتاحية واحدة أو أكثر من الكلمات أدناه، مفصولة بمسافة بيضاء. تقبل جميع الكلمات المفتاحية معطيات، مثل: "crash:2m".

يحدد مدة رفض العملاء الذين يتسببون في انهيار sshd(8) (المبدئي: 90s).
يحدد مدة رفض العملاء الذين يقطعون الاتصال بعد إجراء محاولة استيثاق غير ناجحة أو أكثر (المبدئي: 5s).
يحدد مدة رفض العملاء الذين يحاولون الولوج باستخدام مستخدم غير صالح (المبدئي: 5s).
يحدد مدة رفض العملاء الذين حُظر اتصالهم إداريًا عبر خيار RefuseConnection (المبدئي: 10s).
يحدد مدة رفض العملاء الذين يقطعون الاتصال دون محاولة الاستيثاق (المبدئي: 1s). ينبغي استخدام مهلة الانقطاع هذه بحذر وإلا فقد تعاقب أدوات الفحص المشروعة مثل ssh-keyscan(1).
يحدد مدة رفض العملاء الذين يفشلون في الاستيثاق بعد مرور وقت LoginGraceTime (المبدئي: 10s).
يحدد الحد الأقصى للوقت الذي سيُرفض فيه وصول نطاق عناوين مصدر معين (المبدئي: 10m). ستتراكم العقوبات المتكررة حتى تصل إلى هذا الحد الأقصى.
يحدد الحد الأدنى للعقوبة التي يجب أن تراكم قبل بدء التنفيذ (المبدئي: 15s).
, max-sources6:number
يحدد الحد الأقصى لعدد نطاقات عناوين IPv4 و IPv6 للعملاء المطلوب تتبعها لفرض العقوبات (المبدئي: 65536 لكليهما).
يتحكم في سلوك الخادوم عند تجاوز max-sources4 أو max-sources6. يوجد وضاع تشغيل: deny-all ، الذي يرفض جميع الاتصالات الواردة باستثناء تلك المعفاة عبر قائمة PerSourcePenaltyExemptList حتى تنتهي صلاحية العقوبة، و permissive ، الذي يسمح بالاتصالات الجديدة عن طريق إزالة العقوبات الحالية مبكرًا (المبدئي: permissive). لاحظ أن عقوبات العميل التي تقل عن عتبة الحد الأدنى min تُحسب ضمن العدد الإجمالي للعقوبات المتتبعة. تُتتبّع عناوين IPv4 و IPv6 بشكل منفصل، لذا فإن الطفح في أحدهما لن يؤثر على الآخر.
يسمح بتحديد وضع طفح مختلف لعناوين IPv6. السلوك المبدئي هو استخدام وضع الطفح نفسه الذي حُدّد لـ IPv4.
يحدد قائمة مفصولة بفاصلة من العناوين لإعفائها من العقوبات. قد تحتوي هذه القائمة على محارف بديلة ونطاقات عناوين بتنسيق CIDR‏ (address/masklen). لاحظ أن طول القناع المقدم يجب أن يكون متسقًا مع العنوان - يُعد تحديد طول قناع طويل جدًا للعنوان أو قناع يحتوي على بتات مضبوطة في جزء المضيف من العنوان خطأً. على سبيل المثال، 192.0.2.0/33 و192.0.2.0/8، على التوالي. السلوك المبدئي هو عدم إعفاء أي عناوين.
يحدد الملف الذي يحتوي على معرف العملية لعفريت SSH، أو none لعدم كتابة أي ملف. القيمة المبدئية هي /run/sshd.pid.
يُحدد رقم المنفذ الذي يستمع إليه sshd(8). القيمة المبدئية هي 22. يُسمح بخيارات متعددة من هذا النوع. انظر أيضًا ListenAddress.
يحدد ما إذا كان ينبغي لـ sshd(8) طباعة تاريخ ووقت آخر ولوج للمستخدم عندما يلج تفاعليًا. القيمة المبدئية هي yes.
يحدد ما إذا كان ينبغي لـ sshd(8) طباعة /etc/motd عندما يلج المستخدم تفاعليًا. (في بعض الأنظمة، تُطبع أيضًا بواسطة الصدفة، أو ملف /etc/profile ، أو ما يعادلهما.) القيمة المبدئية هي yes.
يحدد خوارزميات التوقيع التي ستقبل لاستيثاق المفتاح العلني كقائمة من الأنماط المفصولة بفاصلة. وبدلاً من ذلك، إذا بدأت القائمة المحددة بمحرف ‘+’ ، فستُلحق الخوارزميات المحددة بالمجموعة المبدئية بدلاً من استبدالها. وإذا بدأت القائمة المحددة بمحرف ‘-’ ، فستُزال الخوارزميات المحددة (بما في ذلك المحارف البديلة) من المجموعة المبدئية بدلاً من استبدالها. وإذا بدأت القائمة المحددة بمحرف ‘^’ ، فستُوضع الخوارزميات المحددة في رأس المجموعة المبدئية. القيمة المبدئية لهذا الخيار هي:
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".

يُضبط خيارًا واحدًا أو أكثر من خيارات استيثاق المفتاح العلني. الكلمات المفتاحية المدعومة هي: none (المبدئي؛ ويشير إلى عدم تمكين أي خيارات إضافية)، و touch-required و verify-required.

يتسبب خيار touch-required في جعل استيثاق المفتاح العلني باستخدام خوارزمية موثق FIDO (أي ecdsa-sk أو ed25519-sk) يتطلب دائمًا أن يشهد التوقيع على أن مستخدمًا حاضرًا فعليًا قد أكد الاستيثاق صراحةً (عادةً عن طريق لمس الموثق). يتطلب sshd(8) مبدئيًا حضور المستخدم ما لم يُتجاوز ذلك باستخدام خيار في authorized_keys. تعطل راية touch-required هذا التجاوز.

يتطلب خيار verify-required أن يشهد توقيع مفتاح FIDO بأنه تحقق من المستخدم، على سبيل المثال عبر رمز PIN.

ليس لخياري touch-required أو verify-required أي تأثير على أنواع المفاتيح العلنية الأخرى غير التابعة لـ FIDO.

يحدد ما إذا كان استيثاق المفتاح العلني مسموحًا به. القيمة المبدئية هي yes.
يشير إلى أنه يجب على sshd(8) إنهاء الاتصال دون قيد أو شرط. بالإضافة إلى ذلك، قد تُسجّل عقوبة refuseconnection ضد مصدر الاتصال إذا كانت خيارات PerSourcePenalties مُمكّنة. هذا الخيار مفيد فقط في كتلة Match.
يُحدد الحد الأقصى لكمية البيانات التي يمكن إرسالها أو استقبالها قبل إعادة تفاوض مفتاح الجلسة، متبوعًا اختياريًا بالحد الأقصى للوقت الذي يمكن أن يمر قبل إعادة تفاوض مفتاح الجلسة. يُحدد المعطى الأول بالبايت وقد يحتوي على لاحقة ‘K’ ، أو ‘M’ ، أو ‘G’ للإشارة إلى كيلوبايت، أو ميجابايت، أو جيجابايت، على التوالي. تتراوح القيمة المبدئية بين ‘1G’ و ‘4G’ ، اعتمادًا على التشفير. تُحدد القيمة الثانية الاختيارية بالثواني ويمكن أن تستخدم أيًا من الوحدات الموثقة في قسم TIME FORMATS. القيمة المبدئية لـ RekeyLimit هي default none ، مما يعني أن إعادة تشكيل المفاتيح تُجرى بعد إرسال أو استقبال كمية البيانات المبدئية للتشفير ولا تُجرى أي إعادة تشكيل للمفاتيح على أساس الوقت.
يحدد الحد الأدنى لحجم مفتاح RSA (بالبت) الذي سيقبله sshd(8). ستُرفض مفاتيح الاستيثاق القائمة على المستخدم والمضيف التي تقل عن هذا الحد. القيمة المبدئية هي 1024 بت. لاحظ أنه لا يمكن إلا رفع هذا الحد عن القيمة المبدئية.
يحدد ملف المفاتيح العلنية الملغاة، أو none لعدم استخدام أحدها. ستُرفض المفاتيح المدرجة في هذا الملف في استيثاق المفاتيح العلنية. لاحظ أنه إذا كان هذا الملف غير قابل للقراءة، فسيُرفض استيثاق المفتاح العلني لجميع المستخدمين. يمكن تحديد المفاتيح كفملف نصي، يدرج مفتاحًا علنيًا واحدًا في كل سطر، أو كقائمة إلغاء مفاتيح OpenSSH ‏(KRL) تُنشأ بواسطة ssh-keygen(1). يمكن الرجوع إلى هذا الملف في كل محاولة استيثاق بمفتاح علني يتلقاها sshd(8) ويجب أن تكون محتوياته متسقة في جميع الأوقات، لذا ينبغي استبداله ذريًا فقط وعدم تعديله في مكانه مطلقًا أثناء تشغيل الخادوم. لمزيد من المعلومات حول قوائم KRL، انظر قسم KEY REVOCATION LISTS في ssh-keygen(1).
يُحدد مسارًا إلى مكتبة ستُستخدم عند تحميل المفاتيح المستضافة على موثق FIDO، مما يتجاوز السلوك المبدئي المتمثل في استخدام دعم USB HID المدمج.
يحدد متغير بيئة واحدًا أو أكثر لضبطه في الجلسات الفرعية التي يبدأها sshd(8) على صيغة “NAME=VALUE”. يمكن وضع قيمة البيئة بين علامتي اقتباس (على سبيل المثال إذا كانت تحتوي على محارف مسافات بيضاء). تتجاوز متغيرات البيئة المضبوطة بواسطة SetEnv البيئة المبدئية وأي متغيرات يحددها المستخدم عبر AcceptEnv أو PermitUserEnvironment.
يتجاوز المسار المبدئي للملف الثنائي sshd-auth الذي يُستدعى لإكمال استيثاق المستخدم. المبدئي هو /usr/lib/openssh/sshd-auth. هذا الخيار مخصص للاستخدام في الاختبارات.
يتجاوز المسار المبدئي للملف الثنائي sshd-session الذي يُستدعى لمعالجة كل اتصال. المبدئي هو /usr/lib/openssh/sshd-session. هذا الخيار مخصص للاستخدام في الاختبارات.
يضبط قناع نمط إنشاء الملفات الثماني (umask) المستخدم عند إنشاء ملف مقبس نطاق يونكس لتوجيه المنافذ المحلي أو البعيد. يُستخدم هذا الخيار فقط لتوجيه المنافذ إلى ملف مقبس نطاق يونكس.

القيمة المبدئية هي 0177، والتي تنشئ ملف مقبس نطاق-يونكس قابل للقراءة والكتابة من قبل المالك فقط. لاحظ أن ليس كل أنظمة التشغيل تحترم وضع الملف على ملفات مقابس نطاق-يونكس.

يُحدد ما إذا كان يجب إزالة ملف مقبس نطاق Unix الحالي لتوجيه المنفذ المحلي أو عن بعد قبل إنشاء ملف جديد. إذا كان ملف المقبس موجودًا بالفعل ولم يُمكن StreamLocalBindUnlink ، فلن يتمكن sshd من توجيه المنفذ إلى ملف مقبس نطاق Unix. يُستخدم هذا الخيار فقط لتوجيه المنفذ إلى ملف مقبس نطاق Unix.

يجب أن يكون المعطى yes أو no. القيمة المبدئية هي no.

يحدد ما إذا كان ينبغي لـ sshd(8) فحص أوضاع الملفات وملكيتها لملفات المستخدم ودليله المنزلي قبل قبول الولوج. هذا أمر مرغوب فيه عادةً لأن المبتدئين يتركون أحيانًا دليلهم أو ملفاتهم قابلة للكتابة من الجميع دون قصد. القيمة المبدئية هي yes. لاحظ أن هذا لا ينطبق على ChrootDirectory ، الذي تُفحص أذوناته وملكيته دون قيد أو شرط.
يضبط نظامًا فرعيًا خارجيًا (مثل عفريت نقل الملفات). يجب أن تكون المعطيات اسم نظام فرعي وأمرًا (مع معطيات اختيارية) لتنفيذه عند طلب النظام الفرعي.

ينفّذ الأمر sftp-server النظام الفرعي لنقل الملفات SFTP.

وبدلاً من ذلك، ينفّذ الاسم internal-sftp خادوم SFTP داخل العملية. قد يبسط هذا التشكيلات التي تستخدم ChrootDirectory لفرض جذر نظام ملفات مختلف على العملاء. يقبل هذا الخيار معطيات سطر الأوامر نفسها التي يقبلها sftp-server وعلى الرغم من أنه يعمل داخل العملية، فإن الإعدادات مثل LogLevel أو SyslogFacility لا تنطبق عليه ويجب ضبطها صراحةً عبر معطيات سطر الأوامر.

مبدئيًا، لا تُعرّف أي أنظمة فرعية.

يُعطى رمز المرفق الذي يُستخدم عند تسجيل الرسائل من sshd(8). القيم المحتملة هي: DAEMON و USER و AUTH و LOCAL0 و LOCAL1 و LOCAL2 و LOCAL3 و LOCAL4 و LOCAL5 و LOCAL6 و LOCAL7. القيمة المبدئية هي AUTH.
يحدد ما إذا كان ينبغي للنظام إرسال رسائل إبقاء الاتصال الحي لـ TCP إلى الطرف الآخر. إذا أُرسِلت، فسيُلاحظ انقطاع الاتصال أو انهيار إحدى الآلات بشكل صحيح. ومع ذلك، هذا يعني أن الاتصالات ستنقطع إذا كان المسار معطلاً مؤقتًا، ويجد بعض الأشخاص هذا الأمر مزعجًا. من ناحية أخرى، إذا لم تُرسل رسائل إبقاء الاتصال الحي لـ TCP، فقد تظل الجلسات معلقة إلى غير مسمى على الخادوم، مما يترك مستخدمين وهميين (ghost) ويستهلك موارد الخادوم.

القيمة المبدئية هي yes (لإرسال رسائل إبقاء الاتصال الحي لـ TCP)، وسيلاحظ الخادوم إذا تعطلت الشبكة أو انهار مضيف العميل. يمنع هذا بقاء الجلسات معلقة إلى غير مسمى.

لتعطيل رسائل إبقاء الاتصال الحي لـ TCP، يجب ضبط القيمة على no.

كان هذا الخيار يُسمى سابقاً KeepAlive.

يحدد ملفًا يحتوي على المفاتيح العلنية لسلطات الشهادات الموثوق بها لتوقيع شهادات المستخدمين لغرض الاستيثاق، أو none لعدم استخدام أحدها. تُدرج المفاتيح مفتاحًا واحدًا في كل سطر؛ ويُسمح بالأسطر الفارغة والتعليقات التي تبدأ بـ ‘#’. إذا قُدّمت شهادة للاستيثاق وكان مفتاح سلطة الشهادات (CA) الموقع لها مدرجًا في هذا الملف، فيمكن استخدامها للاستيثاق لأي مستخدم مدرج في قائمة الكيانات الرئيسة للشهادة. لاحظ أن الشهادات التي تفتقر إلى قائمة كيانات رئيسة لن يُسمح بها للاستيثاق باستخدام TrustedUserCAKeys. لمزيد من التفاصيل حول الشهادات، انظر قسم CERTIFICATES في ssh-keygen(1).
يُحدد ما إذا كان ينبغي لـ sshd(8) إغلاق اتصالات العملاء التي لا تحتوي على قنوات مفتوحة، وبأي سرعة. تشمل القنوات المفتوحة الصدفة النشطة، أو تنفيذ الأوامر أو جلسات الأنظمة الفرعية، أو الشبكات المتصلة، أو المقابس، أو توجيه الوكيل أو توجيه X11. لا تُعتبر مستمعات التوجيه، مثل تلك الناتجة عن راية -R في ssh(1) ، قنوات مفتوحة ولا تمنع حدوث مهلة الانقطاع. تُحدد قيمة مهلة الانقطاع بالثواني أو يمكن استخدام أي من الوحدات الموثقة في قسم TIME FORMATS.

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

القيمة المبدئية none تعني عدم إنهاء صلاحية الاتصالات أبدًا بسبب عدم وجود قنوات مفتوحة. قد يكون هذا الخيار مفيدًا بالاقتران مع ChannelTimeout.

يُحدد ما إذا كان ينبغي لـ sshd(8) البحث عن اسم المضيف البعيد، والتحقق من أن اسم المضيف الذي حُل لعنوان IP البعيد يعود إلى عنوان IP نفسه تمامًا.

إذا ضُبط هذا الخيار على no (المبدئي)، فيمكن استخدام العناوين فقط وليس أسماء المضيفين في توجيهات from في ~/.ssh/authorized_keys وتوجيهات Host في كتلة Match لـ sshd_config.

يُمكن واجهة وحدات الاستيثاق القابلة للتوصيل (PAM). إذا ضُبط على yes ، فسيؤدي ذلك إلى تمكين استيثاق PAM باستخدام KbdInteractiveAuthentication و PasswordAuthentication بالإضافة إلى معالجة وحدات حساب وجلسة PAM لجميع أنواع الاستيثاق.

نظرًا لأن استيثاق PAM التفاعلي عبر لوحة المفاتيح يؤدي عادةً دورًا مكافئًا لاستيثاق كلمة السر، ينبغي لك تعطيل إما PasswordAuthentication أو KbdInteractiveAuthentication.

إذا مُكّن UsePAM ، فلن تتمكن من تشغيل sshd(8) كمستخدم غير جذر. القيمة المبدئية هي no.

يحدد اختياريًا نصًا إضافيًا لإلحاقه بلافطة بروتوكول SSH التي يرسلها الخادوم عند الاتصال. القيمة المبدئية هي none.
يحدد أول رقم عرض متاح لتوجيه X11 الخاص بـ sshd(8)'s. يمنع هذا sshd من التداخل مع خواديم X11 الحقيقية. القيمة المبدئية هي 10.
يحدد ما إذا كان توجيه X11 مسموحًا به. يجب أن يكون المعطى yes أو no. القيمة المبدئية هي no.

عند تمكين توجيه X11، قد يكون هناك تعرض إضافي للخادوم وشاشات العرض الخاصة بالعميل إذا أُعِدّ عرض وكيل sshd(8) للاستماع على العنوان العام (انظر X11UseLocalhost) ، على الرغم من أن هذا ليس السلوك المبدئي. بالإضافة إلى ذلك، يحدث انتحال الاستيثاق والتحقق من بيانات الاستيثاق واستبدالها على جانب العميل. تكمن المخاطر الأمنية لاستخدام توجيه X11 في أن خادوم عرض X11 الخاص بالعميل قد يكون عرضة للهجوم عندما يطلب عميل SSH التوجيه (انظر التحذيرات الخاصة بـ ForwardX11 في ssh_config(5)). قد يكون لمسؤول النظام موقف يرغب فيه في حماية العملاء الذين قد يعرضون أنفسهم للهجوم عن طريق طلب توجيه X11 دون علم، الأمر الذي قد يبرر الضبط على no.

لاحظ أن تعطيل توجيه X11 لا يمنع المستخدمين من توجيه حركة مرور X11، حيث يمكن للمستخدمين دائمًا تثبيت أدوات التوجيه الخاصة بهم.

يحدد ما إذا كان ينبغي لـ sshd(8) ربط خادوم توجيه X11 بعنون الحلقة المحلية (loopback) أو بالعنوان العام (wildcard). يربط sshd مبدئيًا خادوم التوجيه بعنوان الحلقة المحلية ويضبط جزء اسم المضيف لمتغير البيئة DISPLAY على localhost. يمنع هذا المضيفين البعيدين من الاتصال بعرض الوكيل. ومع ذلك، قد لا تعمل بعض عملاء X11 الأقدم مع هذا التشكيل. يمكن ضبط X11UseLocalhost على no لتحديد وجوب ربط خادوم التوجيه بالعنوان العام. يجب أن يكون المعطى yes أو no. القيمة المبدئية هي yes.
يحدد اسم المسار الكامل لبرنامج xauth(1) ، أو none لعدم استخدام أحدها. القيمة المبدئية هي /usr/bin/xauth.

صيغ الوقت

يمكن التعبير عن معطيات سطر الأوامر وخيارات ملف التشكيل لـ sshd(8) التي تحدد الوقت باستخدام تسلسل على الصيغة التالية: time[qualifier]، حيث time هو قيمة عددية صحيحة موجبة و qualifier هو أحد التالي:

none
ثوانٍ
|
ثوانٍ
|
دقائق
|
ساعات
|
أيام
|
أسابيع

يُجمع كل عضو في التسلسل معًا لحساب القيمة الإجمالية للوقت.

أمثلة على صيغ الوقت:

600
600 seconds (10 minutes)
10m
10 minutes
1h30m
1 hour 30 minutes (90 minutes)

رموز (TOKENS)

يمكن أن تستفيد المعطيات الممررة لبعض الكلمات المفتاحية من الرموز (tokens)، والتي تُوسّع في وقت التشغيل. تُوسّع الرموز دون وضع علامات اقتباس أو هروب لمحارف الصدفة. وتقع على عاتق المسؤول مسؤولية التأكد من أنها آمنة في سياق استخدامها.

الرموز المدعومة في sshd_config هي:

%%
حرف ‘%’ مجرد.
%C
يحدد نقاط نهاية الاتصال، ويحتوي على أربع قيم مفصولة بمسافات: عنوان العميل، ورقم منفذ العميل، وعنوان الخادوم، ورقم منفذ الخادوم.
%D
نطاق التوجيه الذي استُقبل فيه الاتصال الوارد.
%F
بصمة مفتاح سلطة الشهادات (CA).
%f
بصمة المفتاح أو الشهادة.
%h
الدليل المنزلي للمستخدم.
%i
معرف المفتاح في الشهادة.
%K
مفتاح سلطة الشهادات (CA) المرمز بقاعدة base64.
%k
المفتاح أو الشهادة المرمزة بقاعدة base64 لغرض الاستيثاق.
%s
الرقم التسلسلي للشهادة.
%T
نوع مفتاح سلطة الشهادات (CA).
%t
نوع المفتاح أو الشهادة.
%U
المعرف الرقمي للمستخدم المستهدف.
%u
اسم المستخدم.

يقبل الأمر AuthorizedKeysCommand الرموز التالية: %%, %C, %D, %f, %h, %k, %t, %U، و %u.

يقبل خيار AuthorizedKeysFile الرموز التالية: %%, %h, %U، و %u.

يقبل الأمر AuthorizedPrincipalsCommand الرموز التالية: %%, %C, %D, %F, %f, %h, %i, %K, %k, %s, %T, %t, %U، و %u.

يقبل الكلمة المفتاحية AuthorizedPrincipalsFile الرموز %%, %h, %U, و %u.

يقبل الكلمة المفتاحية ChrootDirectory الرموز %%, %h, %U, و %u.

الملفات

/etc/ssh/sshd_config
يحتوي على بيانات الضبط لـ sshd(8). يجب أن يكون هذا الملف قابلاً للكتابة من قِبل الجذر (root) فقط، ولكن يوصى (وإن لم يكن ضرورياً) أن يكون قابلاً للقراءة من الجميع.

انظر أيضًا

sftp-server(8) ، sshd(8)

المؤلفون

يعد 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. كما ساهم Niels Provos و Markus Friedl بدعم فصل الامتيازات.

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

$Mdocdate: 28 مارس 2026 $ Nixpkgs