SSHD_CONFIG(5) File Formats Manual SSHD_CONFIG(5)

sshd_config - پرونده پیکربندی کارساز OpenSSH

sshd(8) داده‌های پیکربندی را از /etc/ssh/sshd_config (یا فایلی که با گزینهٔ -f در خط فرمان مشخص شده است) می‌خواند. این پرونده شامل جفت‌های کلیدواژه-آرگومان، یک جفت در هر خط است. مگر در مواردی که خلاف آن ذکر شده باشد، برای هر کلیدواژه اولین مقدار به‌دست‌آمده استفاده خواهد شد. خطوطی که با ‘#’ آغاز می‌شوند و خطوط خالی به عنوان توضیح (کامنت) تفسیر می‌شوند. آرگومان‌ها را می‌توان به صورت اختیاری درون نقل‌قول دوتایی (") قرار داد تا آرگومان‌های حاوی فاصله مشخص شوند.

کلیدواژه‌های ممکن و معانی آن‌ها به شرح زیر است (توجه داشته باشید که کلیدواژه‌ها به حروف بزرگ و کوچک حساس نیستند، اما آرگومان‌ها حساس هستند):

مشخص می‌کند کدام متغیرهای محیطی ارسال‌شده توسط کلاینت به environ(7) نشست رونوشت شوند. برای چگونگی پیکربندی کلاینت، SendEnv و SetEnv را در ssh_config(5) ببینید. متغیر محیطی TERM همیشه زمانی که کلاینت درخواست یک شبه‌ترمینال (pseudo-terminal) کند پذیرفته می‌شود، چرا که توسط پروتکل الزامی است. متغیرها با نام مشخص می‌شوند، که ممکن است شامل نویسه‌های عمومی (wildcard) ‘*’ و ‘?’ باشند. چندین متغیر محیطی را می‌توان با فاصله از هم جدا کرد یا در چندین دستورالعمل AcceptEnv پخش نمود. هشدار داده می‌شود که برخی از متغیرهای محیطی می‌توانند برای دور زدن محیط‌های محدودشده کاربر استفاده شوند. به همین دلیل، در استفاده از این دستورالعمل باید احتیاط کرد. پیش‌فرض این است که هیچ متغیر محیطی پذیرفته نشود.
مشخص می‌کند کدام خانوادهٔ آدرس باید توسط sshd(8) استفاده شود. آرگومان‌های معتبر عبارتند از: any (پیش‌فرض)، inet (تنها استفاده از IPv4)، یا inet6 (تنها استفاده از IPv6).
مشخص می‌کند که آیا فورواردینگ (هدایت) ssh-agent(1) مجاز است یا خیر. پیش‌فرض yes است. توجه داشته باشید که غیرفعال کردن فورواردینگ کارگزار امنیت را بهبود نمی‌بخشد مگر اینکه کاربران از دسترسی به پوسته (shell) نیز محروم شوند، چرا که آن‌ها همیشه می‌توانند فورواردرهای اختصاصی خود را نصب کنند.
این کلیدواژه می‌تواند با فهرستی از الگوهای نام گروه دنبال شود که با فاصله از هم جدا شده‌اند. در صورت مشخص شدن، ورود تنها برای کاربرانی مجاز است که گروه اصلی یا فهرست گروه‌های تکمیلی آن‌ها با یکی از این الگوها مطابقت داشته باشد. تنها نام‌های گروه معتبر هستند؛ شناسه عددی گروه شناسایی نمی‌شود. به صورت پیش‌فرض، ورود برای تمام گروه‌ها مجاز است. برای گروه‌هایی که با DenyGroups مطابقت داشته باشند، AllowGroups بررسی نمی‌شود.

برای اطلاعات بیشتر در مورد الگوها، بخش PATTERNS را در ssh_config(5) ببینید. این کلیدواژه می‌تواند چندین بار در sshd_config ظاهر شود و هر مورد به انتهای فهرست افزوده می‌شود.

مشخص می‌کند که آیا فورواردینگ StreamLocal (سوکت دامنه یونیکس - Unix-domain socket) مجاز است یا خیر. گزینه‌های در دسترس عبارتند از: yes (پیش‌فرض) یا all برای مجاز دانستن فورواردینگ StreamLocal، no برای جلوگیری از تمام فورواردینگ‌های StreamLocal، local تنها برای مجاز دانستن فورواردینگ محلی (از دیدگاه ssh(1)) یا remote تنها برای مجاز دانستن فورواردینگ راه دور. توجه داشته باشید که غیرفعال کردن فورواردینگ StreamLocal امنیت را افزایش نمی‌دهد مگر اینکه کاربران از دسترسی به پوسته نیز محروم شوند، چرا که همیشه می‌توانند فورواردرهای خود را نصب نمایند.
مشخص می‌کند که آیا فورواردینگ TCP مجاز است یا خیر. گزینه‌های موجود عبارتند از: yes (پیش‌فرض) یا all برای مجاز دانستن فورواردینگ TCP، no برای جلوگیری از تمام فورواردینگ‌های TCP، local تنها برای مجاز دانستن فورواردینگ محلی (از دیدگاه ssh(1)) یا remote تنها برای مجاز دانستن فورواردینگ از راه دور. توجه داشته باشید که غیرفعال کردن فورواردینگ TCP امنیت را بهبود نمی‌بخشد مگر اینکه کاربران از دسترسی به پوسته نیز محروم شوند، چرا که همیشه می‌توانند فورواردرهای اختصاصی خود را نصب کنند.
این کلیدواژه می‌تواند با فهرستی از الگوهای نام کاربری دنبال شود که با فاصله از هم جدا شده‌اند. در صورت مشخص شدن، ورود تنها برای نام‌های کاربری مجاز است که با یکی از الگوها مطابقت داشته باشند. تنها نام‌های کاربری معتبر هستند؛ شناسه عددی کاربر شناسایی نمی‌شود. به صورت پیش‌فرض، ورود برای تمام کاربران مجاز است. اگر الگو به شکل USER@HOST باشد، آنگاه USER و HOST به صورت جداگانه بررسی می‌شوند، که ورود را به کاربران خاص از میزبان‌های خاص محدود می‌کند. معیار HOST می‌تواند علاوه‌بر این شامل آدرس‌هایی برای تطبیق در قالب آدرس/طول ماسک CIDR باشد. برای کاربرانی که با DenyUsers تطبیق داده شوند، AllowUsers بررسی نمی‌شود.

برای اطلاعات بیشتر در مورد الگوها، بخش PATTERNS را در ssh_config(5) ببینید. این کلیدواژه می‌تواند چندین بار در sshd_config ظاهر شود و هر مورد به انتهای فهرست افزوده می‌شود.

روش‌های احراز هویتی را مشخص می‌کند که برای اعطای دسترسی به کاربر باید با موفقیت تکمیل شوند. این گزینه باید با یک یا چند فهرست از نام‌های روش‌های احراز هویت جداشده با کاما دنبال شود، یا با رشتهٔ تکی any برای نشان دادن رفتار پیش‌فرضِ پذیرش هر روش احراز هویت منفرد. اگر حالت پیش‌فرض لغو شود، احراز هویت موفق نیازمند تکمیل تمام روش‌ها در حداقل یکی از این فهرست‌ها است.

برای مثال، "publickey,password publickey,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 را می‌پذیرند. اگر هیچ آرگومانی مشخص نشود، نام کاربری کاربر هدف استفاده می‌شود.

این برنامه باید در خروجی استاندارد صفر یا چند خط از خروجی authorized_keys تولید کند (بخش AUTHORIZED_KEYS در sshd(8) را ببینید). دستور AuthorizedKeysCommand پس از فایل‌های معمول AuthorizedKeysFile آزمایش می‌شود و در صورتی که کلید منطبقی در آنجا پیدا شود اجرا نخواهد شد. به صورت پیش‌فرض، هیچ AuthorizedKeysCommand اجرا نمی‌شود. این دستور تنها برای کاربران معتبر اجرا می‌گردد.

کاربری را مشخص می‌کند که AuthorizedKeysCommand تحت حساب کاربری او اجرا می‌شود. توصیه می‌شود از کاربری اختصاصی استفاده شود که در میزبان هیچ نقش دیگری جز اجرای دستورات کلیدهای مجاز نداشته باشد. اگر AuthorizedKeysCommand مشخص شود اما AuthorizedKeysCommandUser مشخص نشود، آنگاه sshd(8) از شروع به کار خودداری خواهد کرد.
فایلی را مشخص می‌کند که شامل کلیدهای عمومی مورد استفاده برای احراز هویت کاربر است. قالب آن در بخش AUTHORIZED_KEYS FILE FORMAT از sshd(8) شرح داده شده است. آرگومان‌های AuthorizedKeysFile ممکن است شامل نویسه‌های عمومی باشند و نشانه‌های شرح‌داده‌شده در بخش TOKENS را بپذیرند. پس از بسط، AuthorizedKeysFile به عنوان یک مسیر مطلق یا مسیری نسبی به دایرکتوری خانگی کاربر در نظر گرفته می‌شود. می‌توان چندین فایل را که با فاصله از هم جدا شده‌اند فهرست کرد. به عنوان جایگزین، این گزینه را می‌توان روی none تنظیم کرد تا از بررسی کلیدهای کاربر در فایل‌ها صرف‌نظر شود. پیش‌فرض ".ssh/authorized_keys .ssh/authorized_keys2" است. این فایل‌ها تنها برای کاربران معتبر بررسی می‌شوند.
برنامه‌ای را مشخص می‌کند که برای تولید فهرست شناسهٔ هویت‌های (principals) گواهی مجاز طبق AuthorizedPrincipalsFile استفاده شود. مالک برنامه باید root باشد، برای گروه یا دیگران قابل نوشتن نباشد و با یک مسیر مطلق مشخص گردد. آرگومان‌های AuthorizedPrincipalsCommand نشانه‌های شرح‌داده‌شده در بخش TOKENS را می‌پذیرند. اگر هیچ آرگومانی مشخص نشود، نام کاربری کاربر مقصد استفاده می‌شود.

این برنامه باید در خروجی استاندارد صفر یا چند خط از خروجی AuthorizedPrincipalsFile تولید کند. اگر هر یک از AuthorizedPrincipalsCommand یا AuthorizedPrincipalsFile مشخص شده باشد، آنگاه گواهی‌های ارائه‌شده توسط کلاینت برای احراز هویت باید شامل یک شناسهٔ هویت (principal) فهرست‌شده باشند. به صورت پیش‌فرض، هیچ 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 باشد، هیچ بنری نمایش داده نمی‌شود. به صورت پیش‌فرض، هیچ بنری نمایش داده نمی‌شود.
مشخص می‌کند کدام الگوریتم‌ها برای امضای گواهی‌ها توسط مراجع صدور گواهی (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-mldsa44-ed25519@openssh.com

اگر فهرست مشخص‌شده با نویسهٔ ‘+’ آغاز شود، الگوریتم‌های مشخص‌شده به جای جایگزینی، به مجموعهٔ پیش‌فرض افزوده می‌شوند. اگر فهرست با نویسهٔ ‘-’ آغاز شود، الگوریتم‌های مشخص‌شده (شامل نویسه‌های عمومی) به جای جایگزینی، از مجموعهٔ پیش‌فرض حذف خواهند شد.

گواهی‌های امضاشده با سایر الگوریتم‌ها برای احراز هویت کلید عمومی یا مبتنی بر میزبان پذیرفته نخواهند شد.

مشخص می‌کند که آیا و با چه سرعتی sshd(8) باید کانال‌های غیرفعال را ببندد. مهلت‌های زمانی به عنوان یک یا چند جفت “type=interval” جداشده با فاصله مشخص می‌شوند، که در آن “type” باید کلیدواژهٔ ویژهٔ “global” یا یک نام نوع کانال از فهرست زیر باشد که می‌تواند اختیاری شامل نویسه‌های عمومی باشد.

مقدار مهلت زمانی “interval” به ثانیه مشخص می‌شود یا می‌تواند از هر یک از واحدهای مستندشده در بخش TIME FORMATS استفاده کند. برای مثال، “session=5m” باعث می‌شود نشست‌های تعاملی پس از پنج دقیقه عدم فعالیت پایان یابند. مشخص کردن مقدار صفر، مهلت زمانی عدم فعالیت را غیرفعال می‌کند.

مهلت زمانی ویژهٔ “global” بر تمام کانال‌های فعال روی هم اعمال می‌شود. ترافیک روی هر کانال فعال، مهلت زمانی را بازنشانی می‌کند، اما با انقضای مهلت زمانی تمام کانال‌های باز بسته خواهند شد. توجه داشته باشید که این مهلت زمانی سراسری با نویسه‌های عمومی تطبیق داده نمی‌شود و باید به طور صریح مشخص شود.

نام‌های نوع کانال موجود عبارتند از:

اتصالات باز به ssh-agent(1).
, direct-streamlocal@openssh.com
اتصالات باز TCP یا سوکت یونیکس (به ترتیب) که از فورواردینگ محلی ssh(1) برقرار شده‌اند، یعنی LocalForward یا DynamicForward.
, forwarded-streamlocal@openssh.com
اتصالات باز TCP یا سوکت یونیکس (به ترتیب) که به یک sshd(8) شنوا از طرف فورواردینگ راه دورِ ssh(1) برقرار شده‌اند، یعنی RemoteForward.
نشست اصلی تعاملی، شامل نشست پوسته، اجرای دستور، scp(1) ، sftp(1) و غیره.
اتصالات باز TunnelForward.
نشست‌های باز فورواردینگ X11.

توجه داشته باشید که در تمام موارد بالا، پایان دادن به یک نشست غیرفعال، تضمین‌کنندهٔ حذف تمام منابع مرتبط با نشست نیست؛ برای مثال، فرآیندهای پوسته یا کلاینت‌های X11 مرتبط با نشست ممکن است به اجرای خود ادامه دهند.

علاوه بر این، پایان دادن به یک کانال یا نشست غیرفعال لزوماً اتصال SSH را نمی‌بندد و مانع از درخواست کانال دیگری از همان نوع توسط کلاینت نمی‌شود. به ویژه، منقضی شدن یک نشست فورواردینگ غیرفعال مانع از ایجاد فورواردینگ یکسان دیگری در ادامه نمی‌شود.

پیش‌فرض این است که کانال‌ها از هر نوعی بر اثر عدم فعالیت منقضی نشوند.

نام مسیر دایرکتوری را برای chroot(2) کردن پس از احراز هویت مشخص می‌کند. در هنگام شروع نشست، sshd(8) بررسی می‌کند که تمام مؤلفه‌های نام مسیر دایرکتوری‌هایی متعلق به کاربر root باشند که توسط گروه یا دیگران قابل نوشتن نیستند. پس از chroot، sshd(8) دایرکتوری کاری را به دایرکتوری خانگی کاربر تغییر می‌دهد. آرگومان‌های ChrootDirectory نشانه‌های شرح‌داده‌شده در بخش TOKENS را می‌پذیرند.

دایرکتوری ChrootDirectory باید شامل فایل‌ها و دایرکتوری‌های لازم برای پشتیبانی از نشست کاربر باشد. برای یک نشست تعاملی، این نیازمند دست‌کم یک پوسته (معمولاً sh(1)) و گره‌های پایهٔ /dev مانند دستگاه‌های null(4) ، zero(4) ، stdin(4) ، stdout(4) ، stderr(4) و tty(4) است. برای نشست‌های انتقال فایل با استفاده از SFTP در صورتی که از sftp-server درون‌فرآیندی استفاده شود، هیچ پیکربندی اضافی محیطی لازم نیست، هرچند نشست‌هایی که از ثبت لاگ استفاده می‌کنند ممکن است در برخی سیستم‌عامل‌ها به /dev/log درون دایرکتوری chroot نیاز داشته باشند (برای جزئیات sftp-server(8) را ببینید).

برای ایمنی، بسیار مهم است که سلسله‌مراتب دایرکتوری از تغییر توسط فرآیندهای دیگر روی سیستم (به ویژه فرآیندهای بیرون از زندان یا jail) محافظت شود. پیکربندی نادرست می‌تواند به محیط‌های ناامنی منجر شود که sshd(8) قادر به تشخیص آن‌ها نیست.

پیش‌فرض none است که نشان‌دهنده عدم انجام chroot(2) می‌باشد.

رمزهای مجاز را مشخص می‌کند. چندین رمز باید با کاما از هم جدا شوند. اگر فهرست مشخص‌شده با نویسهٔ ‘+’ آغاز شود، رمزهای مشخص‌شده به جای جایگزینی، به مجموعهٔ پیش‌فرض افزوده می‌شوند. اگر فهرست با نویسهٔ ‘-’ آغاز شود، رمزهای مشخص‌شده (شامل نویسه‌های عمومی) به جای جایگزینی، از مجموعهٔ پیش‌فرض حذف خواهند شد. اگر فهرست با نویسهٔ ‘^’ آغاز شود، رمزهای مشخص‌شده در ابتدای مجموعهٔ پیش‌فرض قرار می‌گیرند.

رمزهای پشتیبانی‌شده عبارتند از:

  • 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 دارد. پیام‌های زنده بودن کلاینت از طریق کانال رمزنگاری‌شده ارسال می‌شوند و بنابراین قابل جعل نخواهند بود. گزینهٔ TCP keepalive که توسط TCPKeepAlive فعال می‌شود، قابل جعل است. سازوکار زنده بودن کلاینت زمانی ارزشمند است که کلاینت یا کارساز نیاز داشته باشند از عدم پاسخگویی اتصال مطلع شوند.

مقدار پیش‌فرض ۳ است. اگر ClientAliveInterval روی ۱۵ تنظیم شده باشد و ClientAliveCountMax در مقدار پیش‌فرض باقی بماند، کلاینت‌های SSH که پاسخ نمی‌دهند پس از تقریباً ۴۵ ثانیه قطع خواهند شد. تنظیم مقدار صفر برای ClientAliveCountMax قطع اتصال را غیرفعال می‌کند.

فاصله زمانی مهلت (timeout) را بر حسب ثانیه تعیین می‌کند که پس از آن، اگر هیچ داده‌ای از کلاینت دریافت نشده باشد، sshd(8) پیامی از طریق کانال رمزگذاری‌شده ارسال می‌کند تا پاسخی از کلاینت درخواست کند. مقدار پیش‌فرض ۰ است، که نشان می‌دهد این پیام‌ها برای کلاینت ارسال نخواهند شد.
مشخص می‌کند که آیا فشرده‌سازی پس از احراز هویت موفق کاربر فعال باشد یا خیر. آرگومان باید yes ، delayed (یک معادل قدیمی برای yes) یا no باشد. پیش‌فرض yes است.

فشرده‌سازی بر تمام ترافیکی که از طریق اتصال SSH جریان دارد اعمال می‌شود. اگر ترافیک غیرقابل اعتماد (مانند یک پورت فوروارد باز) در کنار ترافیک قابل اعتماد روی اتصال مجاز باشد، فشرده‌سازی ممکن است اطلاعاتی درباره محتویات نشست افشا کند. به همین دلیل، فعال کردن فشرده‌سازی برای اتصالاتی که ترافیک قابل اعتماد و غیرقابل اعتماد را به اشتراک می‌گذارند توصیه نمی‌شود.

این کلیدواژه می‌تواند با فهرستی از الگوهای نام گروه دنبال شود که با فاصله از هم جدا شده‌اند. ورود برای کاربرانی که گروه اصلی یا فهرست گروه‌های تکمیلی آن‌ها با یکی از این الگوها مطابقت داشته باشد ممنوع است. تنها نام‌های گروه معتبر هستند؛ شناسه عددی گروه شناسایی نمی‌شود. به صورت پیش‌فرض، ورود برای تمام گروه‌ها مجاز است. برای گروه‌هایی که با DenyGroups مطابقت داشته باشند، AllowGroups بررسی نمی‌شود.

برای اطلاعات بیشتر در مورد الگوها، بخش PATTERNS را در ssh_config(5) ببینید. این کلیدواژه می‌تواند چندین بار در sshd_config ظاهر شود و هر مورد به انتهای فهرست افزوده می‌شود.

این کلیدواژه می‌تواند با فهرستی از الگوهای نام کاربری دنبال شود که با فاصله از هم جدا شده‌اند. ورود برای نام‌های کاربری که با یکی از الگوها مطابقت داشته باشند ممنوع است. تنها نام‌های کاربری معتبر هستند؛ شناسه عددی کاربر شناسایی نمی‌شود. به صورت پیش‌فرض، ورود برای تمام کاربران مجاز است. اگر الگو به شکل USER@HOST باشد، آنگاه USER و HOST به صورت جداگانه بررسی می‌شوند، که ورود را برای کاربران خاص از میزبان‌های خاص محدود می‌کند. معیار HOST می‌تواند علاوه‌بر این شامل آدرس‌هایی برای تطبیق در قالب آدرس/طول ماسک CIDR باشد. برای کاربرانی که با DenyUsers تطبیق داده شوند، AllowUsers بررسی نمی‌شود.

برای اطلاعات بیشتر در مورد الگوها، بخش PATTERNS را در ssh_config(5) ببینید. این کلیدواژه می‌تواند چندین بار در sshd_config ظاهر شود و هر مورد به انتهای فهرست افزوده می‌شود.

تمام قابلیت‌های فورواردینگ از جمله X11، ssh-agent(1) ، TCP و StreamLocal را غیرفعال می‌کند. این گزینه تمام گزینه‌های دیگر مرتبط با فورواردینگ را لغو کرده و می‌تواند پیکربندی‌های محدودشده را ساده‌تر کند.
یک فایل موقت حاوی فهرستی از روش‌های احراز هویت و اعتبارنامه‌های عمومی (مانند کلیدها) که برای احراز هویت کاربر استفاده شده‌اند می‌نویسد. مکان فایل از طریق متغیر محیطی SSH_USER_AUTH در اختیار نشست کاربر قرار می‌گیرد. پیش‌فرض no است.
الگوریتم درهم‌سازی (هش) مورد استفاده هنگام ثبت اثرانگشت کلید در لاگ را مشخص می‌کند. گزینه‌های معتبر عبارتند از: md5 و sha256. پیش‌فرض sha256 است.
اجرای دستور مشخص‌شده توسط ForceCommand را اجباری می‌کند و هر دستوری را که توسط کلاینت ارائه شده باشد و همچنین ~/.ssh/rc را (در صورت وجود) نادیده می‌گیرد. این دستور با استفاده از پوستهٔ ورود کاربر با گزینهٔ -c فراخوانی می‌شود. این مورد برای اجرای پوسته، دستور یا زیرسیستم اعمال می‌گردد. بیشترین کاربرد آن در داخل یک بلوک Match است. دستوری که در ابتدا توسط کلاینت ارائه شده بود در متغیر محیطی SSH_ORIGINAL_COMMAND در دسترس است. مشخص کردن دستور internal-sftp استفاده از یک سرور SFTP درون‌فرآیندی را اجباری می‌کند که هنگام استفاده با ChrootDirectory به هیچ فایل پشتیبانی نیاز ندارد. پیش‌فرض none است.

این دستورالعمل انواع دیگر دسترسی را که کلاینت ممکن است از طریق اتصال خود درخواست کند، مانند فورواردینگ TCP، کارگزار، سوکت یا X11 محدود نمی‌کند. اگر این موارد مطلوب نیستند، باید صراحتاً غیرفعال شوند؛ یا به صورت جداگانه از طریق گزینه‌های مربوط به خود یا همگی با هم با استفاده از گزینهٔ DisableForwarding.

مشخص می‌کند که آیا میزبان‌های راه دور اجازه دارند به پورت‌های فورواردشده برای کلاینت متصل شوند یا خیر. به صورت پیش‌فرض، sshd(8) فورواردینگ‌های پورت راه دور را به آدرس loopback پیوند می‌دهد. این کار مانع از اتصال سایر میزبان‌های راه دور به پورت‌های فورواردشده می‌شود. GatewayPorts می‌تواند برای مشخص کردن این استفاده شود که sshd باید به فورواردینگ‌های پورت راه دور اجازه دهد به آدرس‌های غیر loopback متصل شوند، بنابراین به سایر میزبان‌ها اجازه اتصال می‌دهد. آرگومان ممکن است no باشد تا فورواردینگ‌های پورت راه دور تنها برای میزبان محلی در دسترس باشند، yes تا فورواردینگ‌های پورت راه دور به آدرس عمومی (wildcard) متصل شوند، یا clientspecified تا به کلاینت اجازه دهد آدرسی را که فورواردینگ به آن متصل می‌شود انتخاب کند. پیش‌فرض no است.
مشخص می‌کند که آیا احراز هویت کاربر بر اساس GSSAPI مجاز است یا خیر. پیش‌فرض no است.
مشخص می‌کند که آیا حافظه پنهان اعتبارنامه‌های کاربر در هنگام خروج به طور خودکار نابود شود یا خیر. پیش‌فرض yes است.
پذیرش اعتبارنامه‌های تفویض‌شده در سمت کارساز. پیش‌فرض yes است.
تعیین می‌کند که آیا در مورد هویت گیرندهٔ GSSAPI که کلاینت در برابر آن احراز هویت می‌کند سخت‌گیری شود یا خیر. اگر روی yes تنظیم شود، کلاینت باید در برابر سرویس میزبان روی نام میزبان فعلی احراز هویت کند. اگر روی no تنظیم شود، کلاینت می‌تواند در برابر هر کلید سرویس ذخیره‌شده در مخزن پیش‌فرض دستگاه احراز هویت کند. این قابلیت برای کمک به عملکرد روی ماشین‌های چندمقصدی (multi-homed) فراهم شده است. پیش‌فرض yes است. این گزینه ممکن است در محیط‌های Active Directory ویندوز مؤثر نباشد.
الگوریتم‌های امضایی را که برای احراز هویت مبتنی بر میزبان پذیرفته می‌شوند، به عنوان فهرستی از الگوهای جداشده با کاما مشخص می‌کند. همچنین اگر فهرست مشخص‌شده با نویسهٔ ‘+’ آغاز شود، الگوریتم‌های امضای مشخص‌شده به جای جایگزینی، به مجموعه پیش‌فرض افزوده می‌شوند. اگر فهرست با نویسهٔ ‘-’ آغاز شود، الگوریتم‌های امضای مشخص‌شده (شامل نویسه‌های عمومی) به جای جایگزینی، از مجموعه پیش‌فرض حذف خواهند شد. اگر فهرست با نویسهٔ ‘^’ آغاز شود، الگوریتم‌های امضای مشخص‌شده در ابتدای مجموعه پیش‌فرض قرار می‌گیرند. پیش‌فرض برای این گزینه عبارت است از:
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-mldsa44-ed25519-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-mldsa44-ed25519@openssh.com

فهرست الگوریتم‌های امضای موجود را می‌توان با استفاده از "ssh -Q HostbasedAcceptedAlgorithms"; نیز به دست آورد. این گزینه قبلاً با نام HostbasedAcceptedKeyTypes شناخته می‌شد.

مشخص می‌کند که آیا احراز هویت rhosts یا /etc/hosts.equiv همراه با احراز هویت موفق کلید عمومی میزبان کلاینت مجاز است یا خیر (احراز هویت مبتنی بر میزبان). پیش‌فرض no است.
مشخص می‌کند که آیا سرور در زمان تطبیق نام در فایل‌های ~/.shosts ، ~/.rhosts و /etc/hosts.equiv در طول HostbasedAuthentication تلاش برای جستجوی معکوس نام (reverse name lookup) انجام دهد یا خیر. تنظیم روی yes به این معنی است که sshd(8) از نام ارائه‌شده توسط کلاینت استفاده می‌کند به جای اینکه سعی کند نام را از خود اتصال TCP تحلیل نماید. پیش‌فرض no است.
فایلی حاوی گواهی عمومی میزبان را مشخص می‌کند. کلید عمومی گواهی باید با یک کلید خصوصی میزبان که پیش‌تر توسط HostKey مشخص شده است مطابقت داشته باشد. رفتار پیش‌فرض sshd(8) بارگذاری نکردن هیچ گواهی است.
فایلی حاوی یک کلید خصوصی میزبان را که توسط SSH استفاده می‌شود مشخص می‌کند. پیش‌فرض‌ها عبارتند از: /etc/ssh/ssh_host_ecdsa_key ، /etc/ssh/ssh_host_ed25519_key ، /etc/ssh/ssh_host_mldsa44_ed25519_key و /etc/ssh/ssh_host_rsa_key.

توجه داشته باشید که sshd(8) اگر فایلی برای گروه/سایرین قابل دسترسی باشد از استفاده از آن خودداری خواهد کرد و اینکه گزینهٔ HostKeyAlgorithms محدود می‌کند کدام‌یک از کلیدها در واقع توسط sshd(8) استفاده شوند.

امکان داشتن چندین فایل کلید میزبان وجود دارد. همچنین می‌توان فایل‌های کلید عمومی میزبان را به جای آن مشخص کرد. در این حالت، عملیات روی کلید خصوصی به یک ssh-agent(1) واگذار خواهد شد.

سوکت دامنه یونیکس مورد استفاده برای ارتباط با کارگزاری را که به کلیدهای خصوصی میزبان دسترسی دارد مشخص می‌کند. اگر رشتهٔ "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-mldsa44-ed25519-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-mldsa44-ed25519@openssh.com

فهرست الگوریتم‌های امضای موجود را می‌توان با استفاده از "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 (پیش‌فرض سیستم‌عامل) برای نشست‌های غیرتعاملی است.
مشخص می‌کند که آیا احراز هویت تعاملی با صفحه‌کلید مجاز است یا خیر. تمام سبک‌های احراز هویت از login.conf(5) پشتیبانی می‌شوند. پیش‌فرض yes است. آرگومان این کلیدواژه باید yes یا no باشد. ChallengeResponseAuthentication یک نام مستعار منسوخ‌شده برای این مورد است.
مشخص می‌کند که آیا گذرواژهٔ ارائه‌شده توسط کاربر برای PasswordAuthentication از طریق Kerberos KDC اعتبارسنجی خواهد شد یا خیر. برای استفاده از این گزینه، سرور به یک servtab کربروس نیاز دارد که امکان تأیید هویت KDC را فراهم کند. پیش‌فرض no است.
اگر AFS فعال است و کاربر یک Kerberos 5 TGT دارد، پیش از دسترسی به دایرکتوری خانگی کاربر تلاش می‌کند یک توکن AFS به دست آورد. پیش‌فرض no است.
اگر احراز هویت گذرواژه از طریق کربروس ناموفق باشد، گذرواژه از طریق هر سازوکار محلی اضافی مانند /etc/passwd اعتبارسنجی خواهد شد. پیش‌فرض yes است.
مشخص می‌کند که آیا فایل حافظه پنهان بلیت کاربر هنگام خروج به طور خودکار نابود شود یا خیر. پیش‌فرض yes است.
الگوریتم‌های مجاز KEX (تبادل کلید - Key Exchange) را که کارساز به کلاینت‌ها پیشنهاد می‌دهد مشخص می‌کند. ترتیب این فهرست اهمیتی ندارد، چرا که کلاینت ترتیب اولویت را مشخص می‌نماید. چندین الگوریتم باید با کاما از هم جدا شوند.

اگر فهرست مشخص‌شده با نویسهٔ ‘+’ آغاز شود، الگوریتم‌های مشخص‌شده به جای جایگزینی، به مجموعه پیش‌فرض افزوده می‌شوند. اگر فهرست با نویسهٔ ‘-’ آغاز شود، الگوریتم‌های مشخص‌شده (شامل نویسه‌های عمومی) به جای جایگزینی، از مجموعه پیش‌فرض حذف خواهند شد. اگر فهرست با نویسهٔ ‘^’ آغاز شود، الگوریتم‌های مشخص‌شده در ابتدای مجموعه پیش‌فرض قرار می‌گیرند.

الگوریتم‌های پشتیبانی‌شده عبارتند از:

  • 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
  • mlkem768nistp256-sha256
  • 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"; نیز به دست آورد.

آدرس‌های محلی را مشخص می‌کند که sshd(8) باید روی آن‌ها شنود کند. قالب‌های زیر می‌توانند استفاده شوند:

مشخصه اختیاری rdomain درخواست می‌کند که sshd(8) در یک دامنهٔ مسیریابی صریح شنود کند. اگر port مشخص نشود، sshd روی آدرس و تمام گزینه‌های Port مشخص‌شده شنود خواهد کرد. پیش‌فرض شنود روی تمام آدرس‌های محلی در دامنه مسیریابی پیش‌فرض فعلی است. چندین گزینهٔ ListenAddress مجاز است. برای اطلاعات بیشتر در مورد دامنه‌های مسیریابی، rdomain(4) را ببینید.

اگر کاربر با موفقیت وارد نشده باشد، سرور پس از این مدت اتصال را قطع می‌کند. اگر مقدار 0 باشد، هیچ محدودیت زمانی وجود ندارد. پیش‌فرض 120 ثانیه است.
سطح جزئیات لاگ را که هنگام ثبت پیام‌ها از sshd(8) استفاده می‌شود مشخص می‌کند. مقادیر ممکن عبارتند از: QUIET، FATAL، ERROR، INFO، VERBOSE، DEBUG، DEBUG1، DEBUG2 و DEBUG3. پیش‌فرض INFO است. DEBUG و DEBUG1 معادل یکدیگر هستند. DEBUG2 و DEBUG3 هر یک سطوح بالاتری از خروجی اشکال‌زدایی را مشخص می‌کنند. ثبت لاگ با سطح DEBUG حریم خصوصی کاربران را نقض می‌کند و توصیه نمی‌شود.
یک یا چند مورد لغو (override) را برای LogLevel مشخص می‌کند. یک مورد لغو شامل یک یا چند فهرست الگو است که با فایل مبدأ، تابع و شماره خط تطبیق می‌یابد تا لاگ‌برداری دقیق را برای آن‌ها اجباری کند. برای مثال، یک الگوی لغو مانند:
kex.c:*:1000,*:kex_exchange_identification():*,packet.c:*

لاگ‌برداری دقیق را برای خط 1000 از kex.c ، تمام موارد در تابع () و تمام کدهای موجود در فایل packet.c فعال می‌کند. این گزینه برای اشکال‌زدایی در نظر گرفته شده است و هیچ موردی به طور پیش‌فرض فعال نیست.

الگوریتم‌های MAC (کد اصالت‌سنجی پیام - message authentication code) در دسترس را مشخص می‌کند. الگوریتم MAC برای حفاظت از یکپارچگی داده‌ها استفاده می‌شود. چندین الگوریتم باید با کاما از هم جدا شوند. اگر فهرست مشخص‌شده با نویسهٔ ‘+’ آغاز شود، الگوریتم‌های مشخص‌شده به جای جایگزینی، به مجموعه پیش‌فرض افزوده می‌شوند. اگر فهرست با نویسهٔ ‘-’ آغاز شود، الگوریتم‌های مشخص‌شده (شامل نویسه‌های عمومی) به جای جایگزینی، از مجموعه پیش‌فرض حذف خواهند شد. اگر فهرست با نویسهٔ ‘^’ آغاز شود، الگوریتم‌های مشخص‌شده در ابتدای مجموعه پیش‌فرض قرار می‌گیرند.

الگوریتم‌هایی که شامل "-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"; نیز به دست آورد.

یک بلوک شرطی را معرفی می‌کند. اگر تمام معیارهای روی خط Match برآورده شوند، کلیدواژه‌های خطوط بعدی مقادیر تعیین‌شده در بخش سراسری فایل پیکربندی را لغو می‌کنند، تا زمانی که خط Match دیگری یا انتهای فایل فرا برسد. اگر یک کلیدواژه در چندین بلوک Match که شرایط آن‌ها برآورده شده است ظاهر شود، تنها اولین نمونه از کلیدواژه اعمال خواهد شد.

آرگومان‌های Match یک یا چند جفت معیار-الگو هستند یا یکی از معیارهای نشانهٔ تکی: All که با تمام معیارها مطابقت دارد، یا Invalid-User که زمانی تطبیق می‌یابد که نام کاربری ارائه‌شده با هیچ حساب شناخته‌شده‌ای مطابقت نداشته باشد. معیارهای در دسترس عبارتند از: User ، Group ، Host ، LocalAddress ، LocalPort ، Version ، RDomain و Address (با RDomain که نشان‌دهنده rdomain(4) است که اتصال روی آن دریافت شده است).

الگوهای تطبیق ممکن است شامل ورودی‌های تکی یا فهرست‌های جداشده با کاما باشند و می‌توانند از عملگرهای عمومی و نفی شرح‌داده‌شده در بخش 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 ، RDomain ، SetEnv ، StreamLocalBindMask ، StreamLocalBindUnlink ، TrustedUserCAKeys ، UnusedConnectionTimeout ، X11DisplayOffset ، X11Forwarding و X11UseLocalhost.

حداکثر تعداد تلاش‌های مجاز برای احراز هویت در هر اتصال را مشخص می‌کند. هنگامی که تعداد تلاش‌های ناموفق به نیمی از این مقدار برسد، تلاش‌های ناموفق اضافی در لاگ ثبت می‌شوند. پیش‌فرض ۶ است.
حداکثر تعداد نشست‌های باز پوسته، ورود یا زیرسیستم (مانند sftp) مجاز در هر اتصال شبکه را مشخص می‌کند. نشست‌های چندگانه ممکن است توسط کلاینت‌هایی که از مالتی‌پلکسینگ اتصال پشتیبانی می‌کنند برقرار شوند. تنظیم MaxSessions روی 1 در عمل مالتی‌پلکسینگ نشست را غیرفعال می‌کند، در حالی که تنظیم آن روی 0 از تمام نشست‌های پوسته، ورود و زیرسیستم جلوگیری می‌کند در حالی که همچنان فورواردینگ را مجاز می‌داند. پیش‌فرض 10 است.
حداکثر تعداد اتصالات احراز هویت‌نشدهٔ همزمان به دیمون SSH را مشخص می‌کند. اتصالات اضافی قطع خواهند شد تا زمانی که احراز هویت موفق شود یا LoginGraceTime برای یک اتصال منقضی گردد.

به عنوان روشی جایگزین، می‌توان قطع زودهنگام تصادفی را با مشخص کردن سه مقدار جداشده با دو‌نقطه start:rate:full (مانند "10:30:60") فعال کرد. پیش‌فرض 10:30:100 است. اگر در حال حاضر start (۱۰) اتصال احراز هویت‌نشده وجود داشته باشد، sshd(8) تلاش‌های اتصال را با احتمال rate/100 (۳۰٪) رد می‌کند. این احتمال به صورت خطی افزایش می‌یابد و در صورتی که تعداد اتصالات احراز هویت‌نشده به full (۶۰) برسد، تمام تلاش‌های اتصال رد خواهند شد.

فایل moduli(5) را مشخص می‌کند که شامل گروه‌های دیفی-هلمنِ مورد استفاده برای روش‌های تبادل کلید “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” را درخواست خواهد کرد، و با این نام متفاوت از آدرس‌های صریح محلیِ “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 تنظیم شود، ورود root با احراز هویت کلید عمومی مجاز خواهد بود، اما تنها در صورتی که گزینهٔ command مشخص شده باشد (که ممکن است برای گرفتن پشتیبان‌های راه دور مفید باشد حتی اگر ورود root به طور معمول مجاز نباشد). تمام روش‌های احراز هویت دیگر برای root غیرفعال هستند.

اگر این گزینه روی no تنظیم شود، کاربر root مجاز به ورود نیست.

مشخص می‌کند که آیا تخصیص pty(4) مجاز است یا خیر. پیش‌فرض yes است.
مشخص می‌کند که آیا فورواردینگ دستگاه tun(4) مجاز است یا خیر. آرگومان باید yes ، point-to-point (لایه ۳)، ethernet (لایه ۲) یا 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 باشد. توجه داشته باشید که طول ماسک ارائه‌شده باید با آدرس سازگار باشد – مشخص کردن طول ماسکی که برای آدرس بیش از حد طولانی است یا دارای بیت‌های تنظیم‌شده در این بخش میزبان آدرس است خطا محسوب می‌شود. به عنوان مثال، به ترتیب 192.0.2.0/33 و 192.0.2.0/8. پیش‌فرض معاف نکردن هیچ آدرسی است.
فایلی را مشخص می‌کند که شامل شناسه فرایند (PID) دیمون 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-mldsa44-ed25519-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-mldsa44-ed25519@openssh.com

فهرست الگوریتم‌های امضای موجود را می‌توان با استفاده از "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) باید اتصال را بدون قید و شرط قطع کند. علاوه بر این، در صورتی که PerSourcePenalties فعال باشد، ممکن است جریمهٔ refuseconnection علیه مبدأ اتصال ثبت شود. این گزینه در عمل تنها در یک بلوک Match مفید است.
حداکثر حجم داده‌ای را که ممکن است پیش از مذاکرهٔ مجدد کلید نشست ارسال یا دریافت شود، و به صورت اختیاری حداکثر زمانی را که ممکن است پیش از مذاکرهٔ مجدد کلید نشست سپری شود مشخص می‌کند. آرگومان اول بر حسب بایت مشخص می‌شود و می‌تواند پسوند ‘K ،’ ‘M’ یا ‘G’ داشته باشد تا به ترتیب کیلوبایت، مگابایت یا گیگابایت را نشان دهد. پیش‌فرض بسته به نوع رمزنگاری بین ‘1G’ و ‘4G’ است. مقدار اختیاری دوم بر حسب ثانیه مشخص می‌شود و می‌تواند از هر یک از واحدهای مستندشده در بخش TIME FORMATS استفاده کند. مقدار پیش‌فرض برای RekeyLimit برابر با default none است، که به این معنی است که کلیدزنی مجدد پس از ارسال یا دریافت مقدار دادهٔ پیش‌فرضِ رمز مربوطه انجام می‌شود و هیچ کلیدزنی مجدد مبتنی بر زمان انجام نمی‌گیرد.
حداقل اندازه کلید RSA (بر حسب بیت) را که sshd(8) می‌پذیرد مشخص می‌کند. کلیدهای احراز هویت کاربر و مبتنی بر میزبان که کوچکتری از این حد باشند رد خواهند شد. پیش‌فرض 1024 بیت است. توجه داشته باشید که این حد را تنها می‌توان نسبت به مقدار پیش‌فرض افزایش داد.
فایل کلیدهای عمومی ابطال‌شده را مشخص می‌کند، یا none برای استفاده نکردن از آن. کلیدهای فهرست‌شده در این فایل برای احراز هویت کلید عمومی رد خواهند شد. توجه داشته باشید که اگر این فایل قابل خواندن نباشد، احراز هویت با کلید عمومی برای تمام کاربران رد خواهد شد. کلیدها را می‌توان به صورت یک فایل متنی با درج یک کلید عمومی در هر خط یا به صورت فهرست ابطال کلید (KRL) اوپن‌اس‌اس‌اچ همان‌طور که توسط ssh-keygen(1) تولید می‌شود مشخص کرد. این فایل ممکن است برای هر تلاش احراز هویت کلید عمومیِ دریافت شده توسط sshd(8) بررسی شود و محتویات آن باید در تمام زمان‌ها یکدست و منسجم باشد، بنابراین تنها باید به طور اتمیک جایگزین شود و هرگز نباید در حین اجرای سرور درجا تغییر یابد. برای اطلاعات بیشتر در مورد KRLها، بخش KEY REVOCATION LISTS را در ssh-keygen(1) ببینید.
یک دامنهٔ مسیریابی صریح را مشخص می‌کند که پس از تکمیل احراز هویت اعمال می‌شود. نشست کاربر و همچنین هر سوکت IP فورواردشده یا شنونده، به این rdomain(4) متصل خواهد شد. اگر دامنهٔ مسیریابی روی %D تنظیم شود، دامنه‌ای که اتصال ورودی در آن دریافت شده بود اعمال خواهد شد.
مسیری را به یک کتابخانه مشخص می‌کند که هنگام بارگذاری کلیدهای میزبانی‌شده روی احراز هویت‌کنندهٔ FIDO استفاده خواهد شد، و پشتیبانی داخلی USB HID پیش‌فرض را لغو می‌کند.
یک یا چند متغیر محیطی را برای تنظیم در نشست‌های فرزندی که توسط sshd(8) شروع می‌شوند به صورت “NAME=VALUE” مشخص می‌کند. مقدار متغیر محیطی می‌تواند درون نقل‌قول قرار گیرد (برای مثال اگر حاوی نویسه‌های فاصله باشد). متغیرهای محیطی تعیین‌شده توسط SetEnv محیط پیش‌فرض و هرگونه متغیر مشخص‌شده توسط کاربر از طریق AcceptEnv یا PermitUserEnvironment را بازنویسی (لغو) می‌کنند.
مسیر پیش‌فرض به باینری sshd-auth را که برای تکمیل احراز هویت کاربر فراخوانی می‌شود بازنویسی می‌کند. پیش‌فرض /usr/lib/ssh/sshd-auth است. این گزینه برای استفاده در آزمون‌ها در نظر گرفته شده است.
مسیر پیش‌فرض به باینری sshd-session را که برای مدیریت هر اتصال فراخوانی می‌شود لغو می‌کند. پیش‌فرض /usr/lib/ssh/sshd-session است. این گزینه برای استفاده توسط آزمون‌ها در نظر گرفته شده است.
ماسک حالت ایجاد فایل اکتال (umask) مورد استفاده هنگام ایجاد یک فایل سوکت دامنه یونیکس برای فورواردینگ پورت محلی یا راه دور را تنظیم می‌کند. این گزینه تنها برای فورواردینگ پورت به یک فایل سوکت دامنه یونیکس استفاده می‌شود.

مقدار پیش‌فرض 0177 است که یک فایل سوکت دامنه یونیکس ایجاد می‌کند که تنها توسط مالک قابل خواندن و نوشتن است. توجه داشته باشید که همه سیستم‌عامل‌ها حالت فایل را روی فایل‌های سوکت دامنه یونیکس رعایت نمی‌کنند.

مشخص می‌کند که آیا یک فایل سوکت دامنه یونیکسِ موجود برای فورواردینگ پورت محلی یا راه دور، پیش از ایجاد فایل جدید حذف شود یا خیر. اگر فایل سوکت از قبل وجود داشته باشد و StreamLocalBindUnlink فعال نباشد، sshd قادر نخواهد بود پورت را به فایل سوکت دامنه یونیکس فوروارد کند. این گزینه تنها برای فورواردینگ پورت به یک فایل سوکت دامنه یونیکس استفاده می‌شود.

آرگومان باید yes یا no باشد. پیش‌فرض no است.

مشخص می‌کند که آیا sshd(8) باید حالت‌های فایل و مالکیت فایل‌ها و دایرکتوری خانگی کاربر را پیش از پذیرش ورود بررسی کند یا خیر. این مورد معمولاً مطلوب است زیرا افراد تازه‌کار گاهی تصادفاً دایرکتوری یا فایل‌های خود را برای همه قابل نوشتن باقی می‌گذارند. پیش‌فرض yes است. توجه داشته باشید که این مورد برای ChrootDirectory اعمال نمی‌شود، که دسترسی‌ها و مالکیت آن بدون قید و شرط بررسی می‌گردد.
یک زیرسیستم خارجی (برای مثال دیمون انتقال فایل) را پیکربندی می‌کند. آرگومان‌ها باید یک نام زیرسیستم و یک دستور (همراه با آرگومان‌های اختیاری) برای اجرا در هنگام درخواست زیرسیستم باشند.

دستور sftp-server زیرسیستم انتقال فایل SFTP را پیاده‌سازی می‌کند.

همچنین نام internal-sftp یک سرور SFTP درون‌فرآیندی را پیاده‌سازی می‌کند. این گزینه ممکن است پیکربندی‌هایی را که از ChrootDirectory برای تحمیل یک ریشه سیستم فایل متفاوت بر کلاینت‌ها استفاده می‌کنند ساده‌تر کند. این مورد همان آرگومان‌های خط فرمان sftp-server را می‌پذیرد و با وجود اینکه درون‌فرآیندی است، تنظیماتی مانند LogLevel یا SyslogFacility بر آن اعمال نمی‌شوند و باید صراحتاً از طریق آرگومان‌های خط فرمان تنظیم گردند.

به صورت پیش‌فرض هیچ زیرسیستمی تعریف نشده است.

کد تسهیلات (facility code) را که هنگام ثبت پیام‌های لاگ از sshd(8) استفاده می‌شود ارائه می‌دهد. مقادیر ممکن عبارتند از: DAEMON، USER، AUTH، LOCAL0، LOCAL1، LOCAL2، LOCAL3، LOCAL4، LOCAL5، LOCAL6، LOCAL7. پیش‌فرض AUTH است.
مشخص می‌کند که آیا سیستم باید پیام‌های TCP keepalive را به طرف مقابل ارسال کند یا خیر. اگر ارسال شوند، قطع اتصال یا از کار افتادن یکی از ماشین‌ها به درستی شناسایی می‌شود. با این حال، این بدان معناست که اتصالات در صورت قطع موقت مسیر از بین خواهند رفت و برخی افراد آن را آزاردهنده می‌دانند. از سوی دیگر، اگر پیام‌های keepalive در TCP ارسال نشوند، نشست‌ها ممکن است تا ابد روی سرور معلق بمانند و کاربران "شبح (ghost)" برجای گذاشته و منابع سرور را مصرف کنند.

پیش‌فرض yes است (برای ارسال پیام‌های TCP keepalive)، و سرور متوجه قطع شدن شبکه یا کرش کردن میزبان کلاینت خواهد شد. این کار از معلق ماندن بی‌پایان نشست‌ها جلوگیری می‌کند.

برای غیرفعال کردن پیام‌های TCP keepalive، مقدار باید روی no تنظیم شود.

فایلی حاوی کلیدهای عمومی مراجع صدور گواهی را مشخص می‌کند که برای امضای گواهی‌های کاربر جهت احراز هویت مورد اعتماد هستند، یا none برای استفاده نکردن از آن. کلیدها در هر خط یکی فهرست می‌شوند؛ خطوط خالی و توضیحاتی که با ‘#’ آغاز می‌شوند مجاز هستند. اگر گواهی‌ای برای احراز هویت ارائه شود و کلید CA امضاکنندهٔ آن در این فایل فهرست شده باشد، می‌تواند برای احراز هویت هر کاربری که در فهرست شناسه‌های هویت (principals) گواهی درج شده است استفاده شود. توجه داشته باشید گواهی‌هایی که فاقد فهرست شناسه‌های هویت هستند، برای احراز هویت با استفاده از TrustedUserCAKeys مجاز نخواهند بود. برای جزئیات بیشتر در مورد گواهی‌ها، بخش CERTIFICATES را در ssh-keygen(1) ببینید.
مشخص می‌کند که آیا و با چه سرعتی sshd(8) باید اتصالات کلاینت بدون کانال باز را ببندد. کانال‌های باز شامل نشست‌های فعال پوسته، اجرای دستور یا زیرسیستم، و فورواردینگ‌های متصل شبکه، سوکت، کارگزار یا X11 هستند. شنوندگان فورواردینگ، مانند مواردی که از فلگ -R در ssh(1) ناشی می‌شوند، به عنوان کانال‌های باز در نظر گرفته نمی‌شوند و مانع از مهلت زمانی نمی‌گردند. مقدار مهلت زمانی بر حسب ثانیه مشخص می‌شود یا می‌تواند از هر یک از واحدهای مستندشده در بخش TIME FORMATS استفاده کند.

توجه داشته باشید که این مهلت زمانی زمانی آغاز می‌شود که اتصال کلاینت احراز هویت کاربر را تکمیل کرده باشد اما قبل از اینکه کلاینت فرصتی برای باز کردن کانالی داشته باشد. هنگام استفاده از مقادیر مهلت زمانی کوتاه باید احتیاط کرد، زیرا ممکن است زمان کافی برای کلاینت جهت درخواست و باز کردن کانال‌های خود قبل از قطع اتصال فراهم نکند.

پیش‌فرض none است که هرگز اتصالات را به دلیل نداشتن کانال باز منقضی نمی‌کند. این گزینه ممکن است در ترکیب با ChannelTimeout مفید باشد.

مشخص می‌کند که آیا sshd(8) باید نام میزبان راه دور را جستجو کند و بررسی نماید که نام میزبانِ تحلیل‌شده برای آدرس IP راه دور دقیقاً به همان آدرس IP نگاشت می‌شود یا خیر.

اگر این گزینه روی no تنظیم شود (پیش‌فرض)، آنگاه تنها آدرس‌ها و نه نام‌های میزبان می‌توانند در دستورالعمل‌های from در ~/.ssh/authorized_keys و دستورالعمل‌های Match Host در sshd_config استفاده شوند.

رابط کاربری ماژول احراز هویت متصل‌پذیر (PAM) را فعال می‌کند. اگر روی yes تنظیم شود، این گزینه احراز هویت PAM را با استفاده از KbdInteractiveAuthentication و PasswordAuthentication علاوه بر پردازش ماژول حساب و نشست PAM برای تمام انواع احراز هویت فعال می‌کند.

از آنجا که احراز هویت تعاملی با صفحه‌کلید در PAM معمولاً نقشی معادل با احراز هویت گذرواژه دارد، شما باید یکی از گزینه‌های PasswordAuthentication یا KbdInteractiveAuthentication را غیرفعال کنید.

اگر UsePAM فعال باشد، شما قادر نخواهید بود sshd(8) را به عنوان یک کاربر غیر root اجرا کنید. پیش‌فرض no است.

به صورت اختیاری متن اضافی را برای پیوستن به بنر پروتکل SSH که توسط کارساز هنگام اتصال ارسال می‌شود مشخص می‌کند. پیش‌فرض none است.
اولین شماره نمایشگر موجود را برای فورواردینگ X11 توسط sshd(8)مشخص می‌کند. این کار مانع از تداخل sshd با سرورهای واقعی X11 می‌شود. پیش‌فرض 10 است.
مشخص می‌کند که آیا فورواردینگ X11 مجاز است یا خیر. آرگومان باید yes یا no باشد. پیش‌فرض no است.

هنگامی که فورواردینگ X11 فعال است، در صورتی که نمایشگر پراکسیِ sshd(8) طوری پیکربندی شده باشد که روی آدرس عمومی (wildcard) شنود کند، ممکن است خطرات امنیتی بیشتری متوجه کارساز و نمایشگرهای کلاینت شود (به X11UseLocalhost مراجعه کنید)، هرچند این حالت پیش‌فرض نیست. علاوه بر این، جعل احراز هویت و اعتبارسنجی و جایگزینی داده‌های احراز هویت در سمت کلاینت رخ می‌دهد. خطر امنیتی استفاده از فورواردینگ X11 این است که کارساز نمایشگر X11 کلاینت ممکن است در معرض حمله قرار گیرد هنگامی که کلاینت SSH درخواست فورواردینگ می‌کند (هشدارهای مربوط به ForwardX11 در ssh_config(5) را ببینید). مدیر سیستم ممکن است این رویکرد را داشته باشد که بخواهد از کلاینت‌هایی که ممکن است با درخواست ناآگاهانهٔ فورواردینگ X11 خود را در معرض حمله قرار دهند محافظت کند، که می‌تواند تنظیم no را توجیه نماید.

توجه داشته باشید که غیرفعال کردن فورواردینگ X11 مانع از فوروارد کردن ترافیک X11 توسط کاربران نمی‌شود، چرا که کاربران همیشه می‌توانند فورواردرهای خود را نصب کنند.

مشخص می‌کند که آیا sshd(8) باید سرور فورواردینگ X11 را به آدرس loopback پیوند دهد یا به آدرس عمومی (wildcard). به صورت پیش‌فرض، sshd سرور فورواردینگ را به آدرس loopback پیوند می‌دهد و بخش نام میزبان متغیر محیطی DISPLAY را روی localhost تنظیم می‌کند. این کار مانع از اتصال میزبان‌های راه دور به نمایشگر پراکسی می‌شود. با این حال، برخی کلاینت‌های قدیمی‌تر X11 ممکن است با این پیکربندی کار نکنند. X11UseLocalhost را می‌توان روی no تنظیم کرد تا مشخص شود که سرور فورواردینگ باید به آدرس عمومی متصل شود. آرگومان باید yes یا no باشد. پیش‌فرض yes است.
نام مسیر کامل برنامهٔ xauth(1) را مشخص می‌کند، یا none برای استفاده نکردن از آن. پیش‌فرض /usr/bin/xauth است.

آرگومان‌های خط فرمان و گزینه‌های فایل پیکربندی sshd(8) که زمان را مشخص می‌کنند می‌توانند با استفاده از دنباله‌ای به شکل زیر بیان شوند: time[qualifier], که در آن time یک مقدار عدد صحیح مثبت است و qualifier یکی از موارد زیر است:

⟨none⟩
ثانیه
|
ثانیه
|
دقیقه
|
ساعت
|
روز
|
هفته

هر یک از اعضای این دنباله برای محاسبه مقدار زمان کل با یکدیگر جمع می‌شوند.

مثال‌های قالب زمان:

600
600 ثانیه (10 دقیقه)
10m
10 دقیقه
1h30m
1 ساعت و 30 دقیقه (90 دقیقه)

آرگومان‌های برخی از کلیدواژه‌ها می‌توانند از نشانه‌ها استفاده کنند که در زمان اجرا بسط داده می‌شوند. نشانه‌ها بدون نقل‌قول یا اسکیپ کردن نویسه‌های پوسته بسط می‌یابند. این مسئولیت مدیر سیستم است که اطمینان حاصل کند آن‌ها در چارچوب استفادهٔ خود امن هستند.

نشانه‌های پشتیبانی‌شده در sshd_config عبارتند از:

%%
یک نویسهٔ واقعی ‘%’.
%C
نقاط پایانی اتصال را مشخص می‌کند که شامل چهار مقدار جداشده با فاصله است: آدرس کلاینت، شماره پورت کلاینت، آدرس سرور، و شماره پورت سرور.
%D
دامنهٔ مسیریابی که اتصال ورودی در آن دریافت شده است.
%F
اثرانگشت کلید مرجع صدور گواهی (CA).
%f
اثرانگشت کلید یا گواهی.
%h
دایرکتوری خانگی کاربر.
%i
شناسه کلید در گواهی.
%K
کلید رمزگذاری‌شده با Base64 مرجع صدور گواهی (CA).
%k
کلید یا گواهی رمزگذاری‌شده با Base64 برای احراز هویت.
%s
شماره سریال گواهی.
%T
نوع کلید CA.
%t
نوع کلید یا گواهی.
%U
شناسه عددی کاربر (UID) کاربر هدف.
%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 را می‌پذیرد.

دستور RoutingDomain نشانهٔ %D را می‌پذیرد.

/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 پشتیبانی از تفکیک دسترسی‌ها (privilege separation) را مشارکت کردند.

August 8, 2026 Linux 6.12.107+deb13-amd64