.\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland .\" All rights reserved .\" .\" As far as I am concerned, the code I have written for this software .\" can be used freely for any purpose. Any derived versions of this .\" software must be clearly marked as such, and if the derived work is .\" incompatible with the protocol description in the RFC file, it must be .\" called by a name other than "ssh" or "Secure Shell". .\" .\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved. .\" Copyright (c) 1999 Aaron Campbell. All rights reserved. .\" Copyright (c) 1999 Theo de Raadt. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $OpenBSD: sshd.8,v 1.330 2026/07/11 11:15:03 naddy Exp $ .Dd $Mdocdate: July 11 2026 $ .Dt SSHD 8 .Os .Sh "نام (NAME)" sshd \- دیمن کارساز OpenSSH .Sh "خلاصه دستور (SYNOPSIS)" .Nm sshd .Bk -words .Op Fl 46DdeGiqTtV .Op Fl C Ar connection_spec .Op Fl c Ar host_certificate_file .Op Fl E Ar log_file .Op Fl f Ar config_file .Op Fl g Ar login_grace_time .Op Fl h Ar host_key_file .Op Fl o Ar option .Op Fl p Ar port .Op Fl u Ar len .Ek .Sh "توضیحات (DESCRIPTION)" .Nm (OpenSSH Daemon) دیمن و کارساز برنامه .Xr ssh 1 است. این برنامه ارتباطات رمزنگاری‌شده امنی را میان دو میزبان غیرقابل‌اعتماد بر روی یک شبکه ناامن برقرار می‌سازد. .Pp .Nm به اتصالات دریافتی از سوی کلاینت‌ها گوش فرا می‌دهد. این سرویس معمولاً هنگام بوت سیستم از .Pa /etc/rc راه‌اندازی می‌شود. برای هر اتصال ورودی، یک دیمن جدید منشعب می‌کند .Pq fork . دیمن‌های منشعب‌شده، تبادل کلید، رمزنگاری، احراز هویت، اجرای دستورات و تبادل داده‌ها را مدیریت می‌کنند. .Pp .Nm می‌تواند با استفاده از گزینه‌های خط فرمان یا یک فایل پیکربندی (به‌طور پیش‌فرض .Xr sshd_config 5 ) پیکربندی شود؛ گزینه‌های خط فرمان مقادیر مشخص‌شده در فایل پیکربندی را بازنویسی می‌کنند. .Nm هنگامی که سیگنال قطع ارتباط، .Dv SIGHUP ، را دریافت می‌کند، با اجرای مجدد خود با نام و گزینه‌هایی که با آن‌ها آغاز شده بود (مانند .Pa /usr/sbin/sshd ) ، فایل پیکربندی‌اش را بازخوانی می‌نماید. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl 4 .Nm را وادار می‌کند تنها از نشانی‌های IPv4 استفاده کند. .It Fl 6 .Nm را وادار می‌کند تنها از نشانی‌های IPv6 استفاده کند. .It Fl C Ar connection_spec پارامترهای اتصال را برای استفاده در حالت آزمایشی گسترش‌یافته .Fl T مشخص می‌کند. در صورت تعیین، هرگونه دستورالعمل .Cm Match در فایل پیکربندی که قابل اعمال باشد، پیش از نوشتن پیکربندی در خروجی استاندارد اعمال خواهد شد. پارامترهای اتصال به‌صورت جفت‌های keyword=value ارائه می‌شوند و می‌توان آن‌ها را به هر ترتیبی، چه با چندین گزینه .Fl C و چه به‌صورت یک فهرست جداشده با کاما تعیین کرد. کلمات کلیدی عبارتند از .Dq addr , .Dq user , .Dq host , .Dq laddr , .Dq lport و .Dq rdomain که به ترتیب متناظر با نشانی مبدأ، کاربر، نام میزبان مبدأ اعتبارسنجی‌شده (resolved)، نشانی محلی، شماره پورت محلی و دامنه مسیریابی (routing domain) هستند. علاوه بر این، پرچم .Dq invalid-user (که آرگومان مقداری دریافت نمی‌کند) را می‌توان برای شبیه‌سازی اتصال از سوی یک نام کاربری ناشناخته مشخص کرد. .It Fl c Ar host_certificate_file مسیری را به یک فایل گواهی برای شناسایی .Nm در طول تبادل کلید مشخص می‌کند. فایل گواهی باید با فایل کلید میزبانی که با استفاده از گزینه .Fl h یا دستورالعمل پیکربندی .Cm HostKey تعیین شده است، مطابقت داشته باشد. .It Fl D هنگامی که این گزینه مشخص شود، .Nm از ترمینال جدا نمی‌شود (detach نمی‌کند) و به یک دیمن پس‌زمینه تبدیل نمی‌گردد. این قابلیت امکان نظارت آسان بر .Nm sshd را فراهم می‌سازد. .It Fl d حالت اشکال‌زدایی (Debug). کارساز خروجی پرجزئیات اشکال‌زدایی را به خطای استاندارد ارسال می‌کند و خود را در پس‌زمینه قرار نمی‌دهد. همچنین کارساز منشعب نخواهد شد .Pq Xr fork 2 و تنها یک اتصال را پردازش می‌کند. این گزینه فقط برای اشکال‌زدایی کارساز در نظر گرفته شده است. استفاده چندباره از گزینه .Fl d سطح اشکال‌زدایی را افزایش می‌دهد. حداکثر مقدار 3 است. .It Fl E Ar log_file افزودن لاگ‌های اشکال‌زدایی به .Ar log_file به جای لاگ سیستم. .It Fl e نوشتن لاگ‌های اشکال‌زدایی در خطای استاندارد به جای لاگ سیستم. .It Fl f Ar config_file نام فایل پیکربندی را مشخص می‌کند. پیش‌فرض .Pa /etc/ssh/sshd_config است. در صورت نبود فایل پیکربندی، .Nm از اجرا خودداری می‌کند. .It Fl G تجزیه و چاپ فایل پیکربندی. اعتبار فایل پیکربندی را بررسی می‌کند، پیکربندی مؤثر را در خروجی استاندارد چاپ کرده و سپس خارج می‌شود. در صورت تمایل، قواعد .Cm Match را می‌توان با تعیین پارامترهای اتصال با استفاده از یک یا چند گزینه .Fl C اعمال کرد. .It Fl g Ar login_grace_time مهلت زمانی (grace time) برای احراز هویت کلاینت‌ها را تعیین می‌کند (پیش‌فرض 120 ثانیه). اگر کلاینت نتواند ظرف این مدت زمان کاربر را احراز هویت کند، کارساز ارتباط را قطع کرده و خارج می‌شود. مقدار صفر به معنی نبود محدودیت زمانی است. .It Fl h Ar host_key_file فایلی را مشخص می‌کند که کلید میزبان از آن خوانده می‌شود. اگر .Nm با کاربر ریشه (root) اجرا نشود، این گزینه باید مشخص گردد (زیرا فایل‌های معمول کلید میزبان معمولاً فقط برای کاربر ریشه قابل خواندن هستند). پیش‌فرض عبارت است از .Pa /etc/ssh/ssh_host_ecdsa_key , .Pa /etc/ssh/ssh_host_ed25519_key , .Pa /etc/ssh/ssh_host_mldsa44_ed25519_key و .Pa /etc/ssh/ssh_host_rsa_key . داشتن چند فایل کلید میزبان برای الگوریتم‌های مختلف کلید میزبان امکان‌پذیر است. .It Fl i مشخص می‌کند که .Nm از طریق .Xr inetd 8 در حال اجرا است. .It Fl o Ar option می‌تواند برای ارائه گزینه‌ها در قالبی که در فایل پیکربندی استفاده می‌شود به کار رود. این قابلیت برای مشخص کردن گزینه‌هایی که سوییچ خط فرمان جداگانه‌ای ندارند مفید است. برای جزئیات کامل گزینه‌ها و مقادیر آن‌ها، به .Xr sshd_config 5 مراجعه کنید. .It Fl p Ar port پورتی را که کارساز برای دریافت اتصالات به آن گوش می‌دهد مشخص می‌کند (پیش‌فرض 22). تعیین چندین گزینه پورت مجاز است. پورت‌های مشخص‌شده در فایل پیکربندی با گزینه .Cm Port در صورت تعیین پورت در خط فرمان نادیده گرفته می‌شوند. پورت‌های مشخص‌شده با گزینه .Cm ListenAddress بر پورت‌های خط فرمان تقدم دارند. .It Fl q حالت ساکت (Quiet). هیچ پیامی به لاگ سیستم ارسال نمی‌شود. به‌طور معمول آغاز، احراز هویت و پایان هر اتصال لاگ می‌شود. .It Fl T حالت آزمایشی گسترش‌یافته (Extended test mode). اعتبار فایل پیکربندی را بررسی می‌کند، پیکربندی مؤثر را در خروجی استاندارد چاپ کرده و سپس خارج می‌شود. در صورت تمایل، قواعد .Cm Match را می‌توان با تعیین پارامترهای اتصال با یک یا چند گزینه .Fl C اعمال کرد. این ویژگی مشابه گزینه .Fl G است، با این تفاوت که آزمون‌های اضافی انجام‌شده توسط پرچم .Fl t را نیز شامل می‌شود. .It Fl t حالت آزمایشی (Test mode). تنها اعتبار فایل پیکربندی و سلامت کلیدها را بررسی می‌کند. این گزینه برای به‌روزرسانی مطمئن .Nm مفید است، زیرا ممکن است گزینه‌های پیکربندی تغییر کنند. .It Fl u Ar len این گزینه برای تعیین اندازه فیلدی در ساختار .Vt utmp به کار می‌رود که نام میزبان دوردست را نگهداری می‌کند. اگر نام میزبان به دست آمده طولانی‌تر از .Ar len باشد، مقدار ده‌دهی نقطه‌دار (dotted decimal) به جای آن استفاده خواهد شد. این قابلیت اجازه می‌دهد میزبان‌هایی با نام‌های بسیار طولانی که از اندازه این فیلد سرریز می‌کنند، همچنان به‌طور یکتا شناسایی شوند. مشخص کردن .Fl u0 نشان می‌دهد که تنها نشانی‌های ده‌دهی نقطه‌دار باید در فایل .Pa utmp قرار گیرند. همچنین می‌توان از .Fl u0 برای جلوگیری از ارسال درخواست‌های DNS توسط .Nm استفاده کرد، مگر اینکه سازوکار احراز هویت یا پیکربندی به آن نیاز داشته باشد. سازوکارهای احراز هویتی که ممکن است به DNS نیاز داشته باشند شامل .Cm HostbasedAuthentication و استفاده از گزینه .Cm from="pattern-list" در یک فایل کلید است. گزینه‌های پیکربندی که به DNS نیاز دارند شامل استفاده از الگوی USER@HOST در .Cm AllowUsers یا .Cm DenyUsers می‌باشد. .It Fl V نمایش شماره نسخه و خروج. .El .Sh "احراز هویت (AUTHENTICATION)" دیمن کارساز OpenSSH تنها از پروتکل SSH نسخه ۲ پشتیبانی می‌کند. هر میزبان دارای یک کلید اختصاصی است که برای شناسایی آن میزبان استفاده می‌شود. هرگاه کلاینتی متصل شود، دیمن با کلید عمومی میزبان خود پاسخ می‌دهد. کلاینت کلید میزبان را با پایگاه داده خود مقایسه می‌کند تا تأیید کند که تغییر نکرده است. رازداری پیشرو (Forward secrecy) از طریق توافق کلید دیفی-هلمن (Diffie-Hellman) تأمین می‌شود. این توافق کلید منجر به یک کلید نشست اشتراکی می‌گردد. بقیه نشست با استفاده از یک رمز متقارن رمزنگاری می‌شود. کلاینت الگوریتم رمزنگاری مورد استفاده را از میان الگوریتم‌های ارائه‌شده توسط کارساز انتخاب می‌کند. علاوه بر این، یکپارچگی نشست از طریق یک کد اصالت‌سنجی پیام رمزنگاری‌شده (MAC) تأمین می‌شود. .Pp در نهایت، کارساز و کلاینت وارد یک گفتگوی احراز هویت می‌شوند. کلاینت تلاش می‌کند با استفاده از احراز هویت مبتنی بر میزبان (host-based)، احراز هویت با کلید عمومی (public key)، احراز هویت چالش-پاسخ (challenge-response) یا احراز هویت با گذرواژه، هویت خود را اثبات کند. .Pp صرف‌نظر از نوع احراز هویت، حساب کاربری بررسی می‌شود تا اطمینان حاصل شود که قابل دسترسی است. یک حساب کاربری در صورتی که قفل شده باشد، در .Cm DenyUsers فهرست شده باشد، یا گروه آن در .Cm DenyGroups آمده باشد، قابل دسترسی نیست. تعریف یک حساب قفل‌شده به سیستم وابسته است. برخی پلتفرم‌ها پایگاه داده حساب کاربری مختص به خود را دارند (مانند AIX) و برخی فیلد passwd را تغییر می‌دهند (مانند .Ql \&*LK\&* در Solaris و UnixWare، .Ql \&* در HP-UX، حاوی .Ql Nologin در Tru64، یک .Ql \&*LOCKED\&* در ابتدا در FreeBSD و یک .Ql \&! در ابتدای فیلد در بیشتر توزیع‌های لینوکس). اگر لازم باشد احراز هویت گذرواژه‌ای برای یک حساب غیرفعال شود در حالی که احراز هویت کلید عمومی همچنان مجاز باشد، فیلد passwd باید روی مقداری به جز این مقادیر تنظیم شود (مانند .Ql NP یا .Ql \&*NP\&* ). .Pp اگر کلاینت با موفقیت احراز هویت شود، گفتگویی برای آماده‌سازی نشست آغاز می‌گردد. در این زمان کلاینت ممکن است مواردی مانند تخصیص شبه‌ترمینال (pseudo-tty)، هدایت اتصالات X11، هدایت اتصالات TCP یا هدایت اتصال کارگزار احراز هویت (agent) را از طریق کانال امن درخواست کند. .Pp پس از آن، کلاینت یا درخواست یک پوسته تعاملی می‌کند یا اجرای یک دستور غیرتعاملی را خواستار می‌شود که .Nm آن را از طریق پوسته کاربر با استفاده از گزینه .Fl c آن اجرا خواهد کرد. سپس دو طرف وارد حالت نشست می‌شوند. در این حالت، هر یک از طرفین ممکن است در هر زمانی داده ارسال کند، و این داده‌ها به/از پوسته یا دستور در سمت کارساز، و ترمینال کاربر در سمت کلاینت هدایت می‌شوند. .Pp هنگامی که برنامه کاربر خاتمه یابد و تمام اتصالات هدایت‌شده X11 و سایر اتصالات بسته شوند، کارساز وضعیت خروج دستور را به کلاینت ارسال می‌کند و هر دو طرف خارج می‌شوند. .Sh "فرآیند ورود (LOGIN PROCESS)" هنگامی که کاربری با موفقیت وارد سیستم می‌شود، .Nm کارهای زیر را انجام می‌دهد: .Bl -enum -offset indent .It اگر ورود روی یک tty باشد و هیچ دستوری مشخص نشده باشد، زمان آخرین ورود و محتوای .Pa /etc/motd را چاپ می‌کند (مگر اینکه در فایل پیکربندی یا توسط .Pa ~/.hushlogin از آن جلوگیری شده باشد؛ بخش .Sx "فایل‌ها (FILES)" را ببینید). .It اگر ورود روی یک tty باشد، زمان ورود را ثبت می‌کند. .It فایل .Pa /etc/nologin را بررسی می‌کند؛ در صورت وجود، محتوای آن را چاپ کرده و خارج می‌شود (مگر برای کاربر ریشه). .It سطح دسترسی خود را تغییر می‌دهد تا با امتیازات کاربر عادی اجرا شود. .It محیط پایه (environment) را برپا می‌سازد. .It فایل .Pa ~/.ssh/environment را در صورت وجود و مجاز بودن کاربران به تغییر محیط خود، می‌خواند. گزینه .Cm PermitUserEnvironment را در .Xr sshd_config 5 ببینید. .It به دایرکتوری خانگی کاربر تغییر مسیر می‌دهد. .It اگر .Pa ~/.ssh/rc وجود داشته باشد و گزینه .Cm PermitUserRC در .Xr sshd_config 5 تنظیم شده باشد، آن را اجرا می‌کند؛ در غیر این صورت اگر .Pa /etc/ssh/sshrc وجود داشته باشد، آن را اجرا می‌نماید؛ در غیر این صورت .Xr xauth 1 را اجرا می‌کند. به فایل‌های .Dq rc پروتکل احراز هویت X11 و کوکی در ورودی استاندارد داده می‌شود. بخش .Sx SSHRC را در ادامه ببینید. .It پوسته یا دستور کاربر را اجرا می‌کند. تمامی دستورات تحت پوسته ورود کاربر طبق آنچه در پایگاه داده گذرواژه سیستم مشخص شده است اجرا می‌شوند. .El .Sh SSHRC اگر فایل .Pa ~/.ssh/rc وجود داشته باشد، .Xr sh 1 آن را پس از خواندن فایل‌های محیطی اما پیش از راه‌اندازی پوسته یا دستور کاربر اجرا می‌کند. این اسکریپت نباید هیچ خروجی در stdout تولید کند؛ به جای آن باید از stderr استفاده شود. اگر هدایت اتصالات X11 فعال باشد، این اسکریپت جفت "proto cookie" را در ورودی استاندارد خود دریافت خواهد کرد (و .Ev DISPLAY را در متغیرهای محیطی خود خواهد داشت). این اسکریپت باید .Xr xauth 1 را فراخوانی کند زیرا .Nm به‌طور خودکار xauth را برای افزودن کوکی‌های X11 اجرا نخواهد کرد. .Pp هدف اصلی این فایل اجرای هرگونه روال اولیه‌ای است که ممکن است پیش از در دسترس قرار گرفتن دایرکتوری خانگی کاربر مورد نیاز باشد؛ سیستم AFS نمونه بارزی از چنین محیطی است. .Pp این فایل احتمالاً شامل کدهای راه‌اندازی اولیه و به دنبال آن کدی مشابه نمونه زیر خواهد بود: .Bd -literal -offset 3n if read proto cookie && [ -n "$DISPLAY" ]; then if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then # X11UseLocalhost=yes echo add unix:`echo $DISPLAY | cut -c11-` $proto $cookie else # X11UseLocalhost=no echo add $DISPLAY $proto $cookie fi | xauth -q - fi .Ed .Pp اگر این فایل وجود نداشته باشد، .Pa /etc/ssh/sshrc اجرا می‌شود، و در صورتی که آن هم وجود نداشته باشد، از xauth برای افزودن کوکی استفاده خواهد شد. .Sh "قالب فایل AUTHORIZED_KEYS (AUTHORIZED_KEYS FILE FORMAT)" دستورالعمل .Cm AuthorizedKeysFile فایل‌های حاوی کلیدهای عمومی برای احراز هویت با کلید عمومی را مشخص می‌کند؛ اگر این گزینه مشخص نشود، پیش‌فرض .Pa ~/.ssh/authorized_keys و .Pa ~/.ssh/authorized_keys2 است. هر خط از فایل حاوی یک کلید است (خطوط خالی و خطوطی که با .Ql # آغاز می‌شوند به عنوان یادداشت نادیده گرفته می‌شوند). کلیدهای عمومی از فیلدهای زیر تشکیل شده‌اند که با فاصله از هم جدا می‌شوند: گزینه‌ها (options)، نوع کلید (keytype)، کلید کدگذاری‌شده با base64، و توضیح (comment). فیلد گزینه‌ها اختیاری است. انواع کلیدهای پشتیبانی‌شده عبارتند از: .Pp .Bl -item -compact -offset indent .It sk-ecdsa-sha2-nistp256@openssh.com .It ecdsa-sha2-nistp256 .It ecdsa-sha2-nistp384 .It ecdsa-sha2-nistp521 .It sk-ssh-ed25519@openssh.com .It ssh-ed25519 .It ssh-mldsa44-ed25519@openssh.com .It ssh-rsa .El .Pp فیلد توضیح (comment) برای کاربرد خاصی استفاده نمی‌شود (اما ممکن است برای شناسایی کلید توسط کاربر مفید باشد). .Pp توجه داشته باشید که خطوط این فایل ممکن است چند صد بایت طول داشته باشند (به دلیل اندازه کلید کدگذاری‌شده) تا سقف ۸ کیلوبایت، که اجازه استفاده از کلیدهای RSA تا ۱۶ کیلوبیت را می‌دهد. بهتر است آن‌ها را دستی تایپ نکنید؛ به جای آن، فایل‌های .Pa id_ecdsa.pub , .Pa id_ecdsa_sk.pub , .Pa id_ed25519.pub , .Pa id_ed25519_sk.pub , .Pa id_mldsa44_ed25519 یا .Pa id_rsa.pub را کپی کرده و ویرایش نمایید. .Pp .Nm حداقل اندازه مدول کلید RSA را ۱۰۲۴ بیت تعیین می‌کند. .Pp گزینه‌ها (در صورت وجود) از مشخصات گزینه‌های جداشده با کاما تشکیل شده‌اند. هیچ فاصله‌ای مجاز نیست، مگر درون گیومه‌های دوتایی. مشخصات گزینه‌های زیر پشتیبانی می‌شوند (توجه داشته باشید که کلمات کلیدی گزینه‌ها به بزرگی و کوچکی حروف حساس نیستند): .Bl -tag -width Ds .It Cm agent-forwarding هدایت کارگزار احراز هویت را که قبلاً توسط گزینه .Cm restrict غیرفعال شده بود، فعال می‌کند. .It Cm cert-authority مشخص می‌کند که کلید فهرست‌شده یک مرجع صدور گواهی (CA) است که برای اعتبارسنجی گواهی‌های امضاشده جهت احراز هویت کاربر معتبر شناخته می‌شود. .Pp گواهی‌ها ممکن است محدودیت‌های دسترسی مشابه با این گزینه‌های کلید را دربر داشته باشند. اگر هم محدودیت‌های گواهی و هم گزینه‌های کلید وجود داشته باشند، محدودکننده‌ترین اجتماع این دو اعمال می‌شود. .It Cm command="command" مشخص می‌کند که هرگاه از این کلید برای احراز هویت استفاده شود، این دستور اجرا گردد. دستور ارائه‌شده توسط کاربر (در صورت وجود) نادیده گرفته می‌شود. اگر کلاینت درخواست pty کند، دستور روی یک pty اجرا می‌شود؛ در غیر این صورت بدون tty اجرا خواهد شد. اگر یک کانال ۸ بیتی بدون تغییر (8-bit clean) مورد نیاز باشد، نباید درخواست pty شود یا باید .Cm no-pty مشخص گردد. می‌توان با علامت بک‌اسلش یک گیومه را در دستور قرار داد. .Pp این گزینه می‌تواند برای محدود کردن برخی کلیدهای عمومی به انجام یک عملیات خاص مفید باشد. به عنوان مثال، کلیدی که تنها اجازه پشتیبان‌گیری از راه دور را می‌دهد و نه هیچ کار دیگری. توجه داشته باشید که کلاینت ممکن است هدایت TCP و/یا X11 را درخواست کند، مگر اینکه صراحتاً منع شده باشند، مثلاً با استفاده از گزینه کلید .Cm restrict . .Pp دستوری که در ابتدا توسط کلاینت ارائه شده بود در متغیر محیطی .Ev SSH_ORIGINAL_COMMAND در دسترس است. توجه داشته باشید که این گزینه برای اجرای پوسته، دستور یا زیرسیستم اعمال می‌شود. همچنین توجه داشته باشید که این دستور ممکن است توسط دستورالعمل .Cm ForceCommand در .Xr sshd_config 5 جایگزین گردد. .Pp اگر دستوری مشخص شده باشد و یک دستور اجباری (forced-command) درون گواهی مورد استفاده برای احراز هویت نیز گنجانده شده باشد، گواهی تنها در صورتی پذیرفته می‌شود که هر دو دستور کاملاً یکسان باشند. .It Cm environment="NAME=value" مشخص می‌کند که این رشته هنگام ورود به سیستم با استفاده از این کلید به محیط افزوده شود. متغیرهای محیطی که از این طریق تنظیم می‌شوند بر سایر مقادیر پیش‌فرض محیط اولویت دارند. تعیین چندین گزینه از این نوع مجاز است. پردازش متغیرهای محیطی به‌طور پیش‌فرض غیرفعال است و از طریق گزینه .Cm PermitUserEnvironment کنترل می‌شود. .It Cm expiry-time="timespec" زمانی را مشخص می‌کند که پس از آن، کلید دیگر پذیرفته نخواهد شد. زمان را می‌توان به صورت تاریخ YYYYMMDD[Z] یا زمان YYYYMMDDHHMM[SS][Z] مشخص کرد. تاریخ‌ها و زمان‌ها در منطقه زمانی سیستم تفسیر می‌شوند، مگر اینکه با حرف Z پایان یابند که در این صورت در منطقه زمانی UTC تفسیر خواهند شد. .It Cm from="pattern-list" مشخص می‌کند که علاوه بر احراز هویت با کلید عمومی، نام رسمی میزبان دوردست یا نشانی IP آن نیز باید در فهرست الگوهای جداشده با کاما وجود داشته باشد. برای اطلاعات بیشتر درباره الگوها به بخش PATTERNS در .Xr ssh_config 5 مراجعه کنید. .Pp علاوه بر تطبیق نویسه‌های عام که می‌تواند روی نام‌های میزبان یا نشانی‌ها اعمال شود، یک بند .Cm from می‌تواند نشانی‌های IP را با استفاده از نشانه‌گذاری CIDR (نشانی/طول ماسک) تطبیق دهد. .Pp هدف این گزینه افزایش اختیاری امنیت است: احراز هویت با کلید عمومی به خودی خود به شبکه یا کارسازهای نام یا هیچ چیز دیگری (به جز خود کلید) اعتماد نمی‌کند؛ اما اگر کسی به نحوی کلید را برباید، آن کلید به نفوذگر اجازه می‌دهد از هر نقطه دنیا وارد شود. این گزینه اضافی استفاده از کلید سرقت‌شده را دشوارتر می‌سازد (علاوه بر کلید، کارسازهای نام و/یا مسیریاب‌ها نیز باید به خطر بیفتند). .It Cm no-agent-forwarding هدایت کارگزار احراز هویت را در هنگام استفاده از این کلید برای احراز هویت ممنوع می‌کند. .It Cm no-port-forwarding هدایت اتصالات TCP را در هنگام استفاده از این کلید برای احراز هویت ممنوع می‌سازد. هرگونه درخواست فوروارد پورت توسط کلاینت با خطا مواجه خواهد شد. از این گزینه می‌توان به عنوان مثال همراه با گزینه .Cm command استفاده کرد. .It Cm no-pty از تخصیص tty جلوگیری می‌کند (درخواست برای تخصیص pty رد خواهد شد). .It Cm no-user-rc اجرای .Pa ~/.ssh/rc را غیرفعال می‌کند. .It Cm no-X11-forwarding هدایت اتصالات X11 را در هنگام استفاده از این کلید برای احراز هویت ممنوع می‌سازد. هرگونه درخواست فوروارد X11 توسط کلاینت با خطا مواجه خواهد شد. .It Cm permitlisten="[host:]port" هدایت پورت از راه دور را با گزینه .Fl R دستور .Xr ssh 1 محدود می‌کند به گونه‌ای که تنها بتواند روی میزبان مشخص‌شده (اختیاری) و پورت معین گوش فرا دهد. نشانی‌های IPv6 را می‌توان با محصور کردن در براکت مشخص کرد. می‌توان چندین گزینه .Cm permitlisten را به‌صورت جداشده با کاما اعمال کرد. نام‌های میزبان می‌توانند شامل نویسه‌های عام باشند، همان‌گونه که در بخش PATTERNS در .Xr ssh_config 5 آمده است. مشخص کردن پورت به صورت .Cm * با هر پورتی تطابق دارد. توجه داشته باشید که تنظیمات .Cm GatewayPorts ممکن است نشانی‌های شنود را بیشتر محدود کند. توجه داشته باشید که .Xr ssh 1 در صورتی که میزبان شنود هنگام درخواست هدایت مشخص نشده باشد، نام میزبان .Dq localhost را ارسال می‌کند، و با این نام متفاوت از نشانی‌های صریح لوکال‌هاست .Dq 127.0.0.1 و .Dq ::1 برخورد می‌شود. .It Cm permitopen="host:port" هدایت پورت محلی را با گزینه .Fl L دستور .Xr ssh 1 محدود می‌کند تا تنها بتواند به میزبان و پورت مشخص‌شده متصل شود. نشانی‌های IPv6 را می‌توان با قرار دادن در براکت مشخص کرد. می‌توان چندین گزینه .Cm permitopen را به‌صورت جداشده با کاما اعمال کرد. هیچ تطبیق الگویی یا جستجوی نامی روی نام‌های میزبان مشخص‌شده انجام نمی‌شود؛ آن‌ها باید نام‌های میزبان و/یا نشانی‌های واقعی باشند. مشخص کردن پورت به صورت .Cm * با هر پورتی تطابق دارد. .It Cm port-forwarding هدایت پورت را که قبلاً توسط گزینه .Cm restrict غیرفعال شده بود، فعال می‌کند. .It Cm principals="principals" روی یک خط .Cm cert-authority ، هویت‌های مجاز (principals) برای احراز هویت با گواهی را به صورت فهرستی جداشده با کاما مشخص می‌کند. حداقل یکی از نام‌های این فهرست باید در فهرست هویت‌های گواهی وجود داشته باشد تا گواهی پذیرفته شود. این گزینه برای کلیدهایی که با گزینه .Cm cert-authority به عنوان امضاکنندگان گواهی معتبر علامت‌گذاری نشده‌اند، نادیده گرفته می‌شود. .It Cm pty تخصیص tty را که قبلاً توسط گزینه .Cm restrict غیرفعال شده بود، مجاز می‌سازد. .It Cm no-touch-required نیاز به اثبات حضور کاربر (لمس فیزیکی) را برای امضاهای ایجادشده با این کلید الزامی نمی‌داند. این گزینه تنها برای الگوریتم‌های احرازکننده FIDO شامل .Cm ecdsa-sk و .Cm ed25519-sk معنا دارد. .It Cm verify-required الزام می‌کند که امضاهای ایجادشده با استفاده از این کلید تصدیق کنند که کاربر تأیید هویت شده است، مثلاً از طریق PIN. این گزینه تنها برای الگوریتم‌های احرازکننده FIDO شامل .Cm ecdsa-sk و .Cm ed25519-sk معنا دارد. .It Cm restrict تمام محدودیت‌ها را فعال می‌کند، یعنی هدایت پورت، کارگزار و X11 را غیرفعال می‌سازد و همچنین تخصیص PTY و اجرای .Pa ~/.ssh/rc را ممنوع می‌کند. اگر در آینده قابلیت محدودیت دیگری به فایل‌های authorized_keys اضافه شود، در این مجموعه گنجانده خواهد شد. .It Cm tunnel="n" استفاده از یک دستگاه .Xr tun 4 را روی کارساز اجبار می‌کند. بدون این گزینه، در صورتی که کلاینت درخواست تونل کند، دستگاه بعدی در دسترس استفاده خواهد شد. .It Cm user-rc اجرای .Pa ~/.ssh/rc را که قبلاً توسط گزینه .Cm restrict غیرفعال شده بود، مجاز می‌سازد. .It Cm X11-forwarding هدایت X11 را که قبلاً توسط گزینه .Cm restrict غیرفعال شده بود، مجاز می‌سازد. .El .Pp نمونه‌ای از یک فایل authorized_keys: .Bd -literal -offset 3n # Comments are allowed at start of line. Blank lines are allowed. # Plain key, no restrictions ssh-rsa ... # Forced command, disable PTY and all forwarding restrict,command="dump /home" ssh-rsa ... # Restriction of ssh -L forwarding destinations permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa ... # Restriction of ssh -R forwarding listeners permitlisten="localhost:8080",permitlisten="[::1]:22000" ssh-rsa ... # Configuration for tunnel forwarding tunnel="0",command="sh /etc/netstart tun0" ssh-rsa ... # Override of restriction to allow PTY allocation restrict,pty,command="nethack" ssh-rsa ... # Allow FIDO key without requiring touch no-touch-required sk-ecdsa-sha2-nistp256@openssh.com ... # Require user-verification (e.g. PIN or biometric) for FIDO key verify-required sk-ecdsa-sha2-nistp256@openssh.com ... # Trust CA key, allow touch-less FIDO if requested in certificate cert-authority,no-touch-required,principals="user_a" ssh-rsa ... .Ed .Sh "قالب فایل SSH_KNOWN_HOSTS (SSH_KNOWN_HOSTS FILE FORMAT)" فایل‌های .Pa /etc/ssh/ssh_known_hosts و .Pa ~/.ssh/known_hosts شامل کلیدهای عمومی میزبان برای تمام میزبان‌های شناخته‌شده هستند. فایل سراسری باید توسط مدیر سیستم تهیه شود (اختیاری است)، و فایل مختص هر کاربر به‌طور خودکار نگهداری می‌شود: هرگاه کاربر به میزبانی ناشناخته متصل شود، کلید آن به فایل کاربر افزوده می‌گردد. .Pp هر خط در این فایل‌ها شامل فیلدهای زیر است: نشانگر (اختیاری)، نام‌های میزبان (hostnames)، نوع کلید (keytype)، کلید کدگذاری‌شده با base64، و توضیح (comment). این فیلدها با فاصله از یکدیگر جدا می‌شوند. .Pp نشانگر (marker) اختیاری است، اما در صورت وجود باید یکی از مقادیر .Dq @cert-authority برای نشان دادن اینکه خط حاوی یک کلید مرجع صدور گواهی (CA) است، یا .Dq @revoked برای نشان دادن اینکه کلید موجود در خط باطل شده و هرگز نباید پذیرفته شود، باشد. تنها یک نشانگر باید در یک خط کلید استفاده شود. .Pp نام‌های میزبان (hostnames) فهرستی از الگوهای جداشده با کاما است .Pf ( Ql * و .Ql \&? به عنوان نویسه‌های عام عمل می‌کنند)؛ هر الگو به نوبه خود با نام میزبان تطبیق داده می‌شود. هنگامی که .Nm sshd در حال احراز هویت یک کلاینت است، مانند هنگام استفاده از .Cm HostbasedAuthentication ، این نام همان نام رسمی میزبان کلاینت خواهد بود. هنگامی که .Xr ssh 1 در حال احراز هویت یک کارساز است، این نام، نام میزبان ارائه‌شده توسط کاربر، مقدار گزینه .Cm HostkeyAlias در .Xr ssh 1 (در صورت تعیین)، یا نام رسمی میزبان کارساز در صورت استفاده از گزینه .Cm CanonicalizeHostname در .Xr ssh 1 خواهد بود. .Pp یک الگو همچنین می‌تواند با یک علامت .Ql \&! آغاز شود تا نشان‌دهنده نقیض (negation) باشد: اگر نام میزبان با یک الگوی نقیض مطابقت داشته باشد، (توسط آن خط) پذیرفته نخواهد شد، حتی اگر با الگوی دیگری در همان خط تطابق داشته باشد. یک نام میزبان یا نشانی می‌تواند به صورت اختیاری درون براکت‌های .Ql \&[ و .Ql \&] قرار گیرد و به دنبال آن یک .Ql \&: و شماره پورت غیر استاندارد بیاید. .Pp به عنوان روشی جایگزین، نام‌های میزبان را می‌توان به صورت درهم‌سازی‌شده (هش‌شده) ذخیره کرد تا در صورت افشای محتوای فایل، نام‌ها و نشانی‌های میزبان پنهان بمانند. نام‌های میزبان درهم‌سازی‌شده با نویسه .Ql | آغاز می‌شوند. تنها یک نام میزبان درهم‌سازی‌شده می‌تواند در یک خط قرار گیرد و هیچ‌یک از عملگرهای نقیض یا نویسه‌های عام بالا برای آن قابل اعمال نیستند. .Pp نوع کلید و کلید کدگذاری‌شده با base64 مستقیماً از کلید میزبان گرفته می‌شوند؛ می‌توان آن‌ها را برای مثال از .Pa /etc/ssh/ssh_host_rsa_key.pub به دست آورد. فیلد اختیاری توضیح تا انتهای خط ادامه دارد و پردازش نمی‌شود. .Pp خطوطی که با .Ql # آغاز می‌شوند و خطوط خالی به عنوان یادداشت نادیده گرفته می‌شوند. .Pp هنگام انجام احراز هویت میزبان، در صورتی که هر خط مطابقی کلید مناسب را داشته باشد، احراز هویت پذیرفته می‌شود؛ چه کلیدی که تطابق دقیق دارد و چه در حالتی که کارساز گواهی برای احراز هویت ارائه داده باشد، کلید مرجع صدور گواهی که آن گواهی را امضا کرده است. برای اینکه یک کلید به عنوان مرجع صدور گواهی مورد اعتماد قرار گیرد، باید از نشانگر .Dq @cert-authority که در بالا شرح داده شد استفاده کند. .Pp فایل میزبان‌های شناخته‌شده همچنین امکانی را برای علامت‌گذاری کلیدها به عنوان باطل‌شده (revoked) فراهم می‌کند، برای مثال زمانی که مشخص شود کلید خصوصی مرتبط با آن به سرقت رفته است. کلیدهای باطل‌شده با درج نشانگر .Dq @revoked در ابتدای خط کلید مشخص می‌شوند، و هرگز برای احراز هویت یا به عنوان مراجع صدور گواهی پذیرفته نمی‌شوند، بلکه هنگام مواجهه با آن‌ها، هشداری توسط .Xr ssh 1 تولید می‌شود. .Pp داشتن چندین خط یا کلیدهای میزبان مختلف برای نام‌های یکسان مجاز (اما غیرتوصیه‌شده) است. این وضعیت ناگزیر زمانی رخ می‌دهد که اشکال کوتاه نام‌های میزبان از دامنه‌های مختلف در فایل قرار گیرند. این احتمال وجود دارد که فایل‌ها شامل اطلاعات متناقض باشند؛ در صورتی که اطلاعات معتبر از هر یک از فایل‌ها یافت شود، احراز هویت پذیرفته خواهد شد. .Pp توجه داشته باشید که خطوط این فایل‌ها معمولاً صدها نویسه طول دارند و قطعاً نباید کلیدهای میزبان را با دست تایپ کنید. بلکه آن‌ها را با یک اسکریپت، .Xr ssh-keyscan 1 یا با برداشتن فایل‌هایی مانند .Pa /etc/ssh/ssh_host_rsa_key.pub و افزودن نام‌های میزبان در ابتدای آن ایجاد کنید. دستور .Xr ssh-keygen 1 همچنین امکانات ویرایش خودکار اولیه‌ای را برای .Pa ~/.ssh/known_hosts فراهم می‌کند، از جمله حذف میزبان‌های منطبق با یک نام میزبان و تبدیل تمامی نام‌های میزبان به نمایش درهم‌سازی‌شده (هش‌شده) آن‌ها. .Pp نمونه‌ای از یک فایل ssh_known_hosts: .Bd -literal -offset 3n # Comments allowed at start of line cvs.example.net,192.0.2.10 ssh-rsa AAAA1234.....= # A hashed hostname |1|JfKTdBh7rNbXkVAQCRp4OQoPfmI=|USECr3SWf1JUPsms5AqfD5QfxkM= ssh-rsa AAAA1234.....= # A revoked key @revoked * ssh-rsa AAAAB5W... # A CA key, accepted for any host in *.mydomain.com or *.mydomain.org @cert-authority *.mydomain.org,*.mydomain.com ssh-rsa AAAAB5W... .Ed .Sh "فایل‌ها (FILES)" .Bl -tag -width Ds -compact .It Pa ~/.hushlogin این فایل برای جلوگیری از چاپ زمان آخرین ورود و محتوای .Pa /etc/motd به کار می‌رود، در صورتی که به ترتیب گزینه‌های .Cm PrintLastLog و .Cm PrintMotd فعال باشند. این فایل مانع از چاپ اعلان مشخص‌شده توسط .Cm Banner نمی‌شود. .Pp .It Pa ~/.rhosts این فایل برای احراز هویت مبتنی بر میزبان به کار می‌رود (برای اطلاعات بیشتر به .Xr ssh 1 مراجعه کنید). در برخی سیستم‌ها اگر دایرکتوری خانگی کاربر روی یک پارتیشن NFS قرار داشته باشد، ممکن است این فایل نیاز به دسترسی خواندن همگانی (world-readable) داشته باشد، زیرا .Nm آن را با کاربر ریشه می‌خواند. علاوه بر این، این فایل باید در مالکیت کاربر باشد و مجوز نوشتن برای هیچ‌کس دیگری نداشته باشد. مجوز توصیه‌شده برای بیشتر سیستم‌ها، خواندن/نوشتن برای کاربر و غیرقابل‌دسترسی برای دیگران است. .Pp .It Pa ~/.shosts این فایل دقیقاً به همان روش .Pa .rhosts به کار می‌رود، اما امکان احراز هویت مبتنی بر میزبان را بدون اجازه ورود با rlogin/rsh فراهم می‌سازد. .Pp .It Pa ~/.ssh/ این دایرکتوری، مکان پیش‌فرض برای تمامی اطلاعات پیکربندی و احراز هویت مختص به کاربر است. الزام کلی برای مخفی نگه داشتن تمام محتویات این دایرکتوری وجود ندارد، اما مجوزهای توصیه‌شده عبارتند از خواندن/نوشتن/اجرا برای کاربر و غیرقابل‌دسترسی توسط دیگران. .Pp .It Pa ~/.ssh/authorized_keys کلیدهای عمومی را فهرست می‌کند (ECDSA, Ed25519, RSA) که می‌توان از آن‌ها برای ورود به عنوان این کاربر استفاده کرد. قالب این فایل در بالا شرح داده شد. محتوای این فایل حساسیت بالایی ندارد، اما مجوزهای توصیه‌شده خواندن/نوشتن برای کاربر و عدم دسترسی دیگران است. .Pp اگر این فایل، دایرکتوری .Pa ~/.ssh یا دایرکتوری خانگی کاربر برای سایر کاربران قابل نوشتن باشند، آن‌گاه فایل می‌تواند توسط کاربران غیرمجاز تغییر یافته یا جایگزین شود. در این حالت، .Nm اجازه استفاده از آن را نخواهد داد مگر اینکه گزینه .Cm StrictModes روی .Dq no تنظیم شده باشد. .Pp .It Pa ~/.ssh/environment این فایل در هنگام ورود به سیستم در محیط کاربر خوانده می‌شود (در صورت وجود). این فایل تنها می‌تواند شامل خطوط خالی، خطوط یادداشت (که با .Ql # آغاز می‌شوند)، و خطوط انتساب به شکل name=value باشد. این فایل باید تنها توسط کاربر قابل نوشتن باشد؛ نیازی به قابل خواندن بودن برای دیگران ندارد. پردازش متغیرهای محیطی به‌طور پیش‌فرض غیرفعال است و از طریق گزینه .Cm PermitUserEnvironment کنترل می‌شود. .Pp .It Pa ~/.ssh/known_hosts شامل فهرستی از کلیدهای میزبان برای تمام میزبان‌هایی است که کاربر به آن‌ها وارد شده و در فهرست سراسری کلیدهای شناخته‌شده وجود ندارند. قالب این فایل در بالا شرح داده شد. این فایل باید تنها توسط ریشه یا مالک قابل نوشتن باشد و می‌تواند (اما لازم نیست) برای همگان قابل خواندن باشد. .Pp .It Pa ~/.ssh/rc شامل روال‌های اولیه‌ای است که باید قبل از اینکه دایرکتوری خانگی کاربر در دسترس قرار گیرد، اجرا شوند. این فایل باید تنها توسط کاربر قابل نوشتن باشد و نیازی به خواندن توسط دیگران ندارد. .Pp .It Pa /etc/hosts.equiv این فایل برای احراز هویت مبتنی بر میزبان است (به .Xr ssh 1 مراجعه کنید). این فایل تنها باید توسط ریشه قابل نوشتن باشد. .Pp .It Pa /etc/ssh/moduli شامل گروه‌های دیفی-هلمن مورد استفاده برای روش تبادل کلید "Diffie-Hellman Group Exchange" است. قالب این فایل در .Xr moduli 5 شرح داده شده است. اگر هیچ گروه قابل استفاده‌ای در این فایل یافت نشود، از گروه‌های ثابت داخلی استفاده خواهد شد. .Pp .It Pa /etc/motd به .Xr motd 5 مراجعه کنید. .Pp .It Pa /etc/nologin اگر این فایل وجود داشته باشد، .Nm از ورود هر کاربری به جز کاربر ریشه جلوگیری می‌کند. محتوای فایل به هر کاربری که برای ورود تلاش کند نمایش داده می‌شود و از اتصالات غیرریشه خودداری می‌گردد. این فایل باید برای همگان قابل خواندن باشد. .Pp .It Pa /etc/ssh/shosts.equiv این فایل دقیقاً به همان روش .Pa hosts.equiv استفاده می‌شود، اما امکان احراز هویت مبتنی بر میزبان را بدون اجازه ورود با rlogin/rsh فراهم می‌سازد. .Pp .It Pa /etc/ssh/ssh_host_ecdsa_key .It Pa /etc/ssh/ssh_host_ed25519_key .It Pa /etc/ssh/ssh_host_mldsa44_ed25519_key .It Pa /etc/ssh/ssh_host_rsa_key این فایل‌ها شامل بخش‌های خصوصی کلیدهای میزبان هستند. این فایل‌ها تنها باید در مالکیت کاربر ریشه باشند، فقط توسط ریشه خوانده شوند و برای دیگران غیرقابل‌دسترسی باشند. توجه داشته باشید که اگر این فایل‌ها برای گروه یا همگان قابل دسترسی باشند، .Nm شروع به کار نخواهد کرد. .Pp .It Pa /etc/ssh/ssh_host_ecdsa_key.pub .It Pa /etc/ssh/ssh_host_ed25519_key.pub .It Pa /etc/ssh/ssh_host_mldsa44_ed25519_key.pub .It Pa /etc/ssh/ssh_host_rsa_key.pub این فایل‌ها شامل بخش‌های عمومی کلیدهای میزبان هستند. این فایل‌ها باید برای همگان قابل خواندن باشند اما تنها توسط کاربر ریشه قابل نوشتن باشند. محتوای آن‌ها باید با بخش‌های خصوصی مربوطه مطابقت داشته باشد. این فایل‌ها عملاً برای کارکرد مستقیم استفاده نمی‌شوند؛ آن‌ها صرفاً برای راحتی کاربر ارائه شده‌اند تا محتوایشان در فایل‌های میزبان‌های شناخته‌شده کپی شود. این فایل‌ها با استفاده از .Xr ssh-keygen 1 ایجاد می‌شوند. .Pp .It Pa /etc/ssh/ssh_known_hosts فهرست سراسری سیستم از کلیدهای شناخته‌شده میزبان. این فایل باید توسط مدیر سیستم تهیه شود تا شامل کلیدهای عمومی میزبان تمام دستگاه‌های سازمان باشد. قالب این فایل در بالا شرح داده شد. این فایل باید تنها توسط ریشه یا مالک قابل نوشتن باشد و باید برای همگان قابل خواندن باشد. .Pp .It Pa /etc/ssh/sshd_config شامل داده‌های پیکربندی برای .Nm sshd است. قالب فایل و گزینه‌های پیکربندی در .Xr sshd_config 5 توضیح داده شده‌اند. .Pp .It Pa /etc/ssh/sshrc مشابه .Pa ~/.ssh/rc ، می‌توان از آن برای تعیین روال‌های اولیه‌سازی زمان ورود به صورت سراسری برای یک دستگاه خاص استفاده کرد. این فایل تنها باید توسط کاربر ریشه قابل نوشتن باشد و باید برای همگان قابل خواندن باشد. .Pp .It Pa /usr/share/empty.sshd دایرکتوری .Xr chroot 2 مورد استفاده توسط .Nm در طول جداسازی امتیازات (privilege separation) در مرحله پیش از احراز هویت. این دایرکتوری نباید شامل هیچ فایلی باشد، مالکیت آن باید متعلق به ریشه باشد و نباید برای گروه یا همگان قابل نوشتن باشد. .Pp .It Pa /run/sshd.pid شامل شناسه فرآیند (PID) مربوط به .Nm گوش‌فرادهنده به اتصالات است (اگر چندین دیمن به‌طور همزمان برای پورت‌های مختلف در حال اجرا باشند، این فایل حاوی شناسه فرآیند آخرین دیمن راه‌اندازی‌شده خواهد بود). محتوای این فایل حساس نیست؛ می‌تواند برای همگان قابل خواندن باشد. .El .Sh "همچنین ببینید (SEE ALSO)" .Xr scp 1 , .Xr sftp 1 , .Xr ssh 1 , .Xr ssh-add 1 , .Xr ssh-agent 1 , .Xr ssh-keygen 1 , .Xr ssh-keyscan 1 , .Xr chroot 2 , .Xr login.conf 5 , .Xr moduli 5 , .Xr sshd_config 5 , .Xr inetd 8 , .Xr sftp-server 8 .Sh "نویسندگان (AUTHORS)" پروژه 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) را پیاده‌سازی کردند.