.Dd February 1, 2023 .Dt DBCLIENT 1 .Os .Sh "نام (NAME)" .\" dbclient \- کلاینت سبک SSH .Nm dbclient .Nd کلاینت سبک SSH .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Op Ar flag arguments .Op Fl p Ar port .Op Fl i Ar id .Op Fl L Ar l:h:p .Op Fl R Ar l:h:p .Op Fl l Ar user .Ar host .Op Ar more flags .Op Ar command .Pp .Nm .Op Ar args .Ar "[user1]@host1[^port1],[user2]@host2[^port2],..." .Sh "توضیحات (DESCRIPTION)" .Nm dbclient بخش کلاینت Dropbear SSH است. .Sh "گزینه‌ها (OPTIONS)" .Bl -tag -width Ds .It Ar command دستوری برای اجرا روی میزبان راه دور. این دستور معمولاً توسط میزبان راه دور با استفاده از پوسته کاربر اجرا خواهد شد. دستور از نخستین آرگومان دارای خط تیره پس از آرگومان میزبان آغاز می‌شود. در صورتی که هیچ دستوری مشخص نشود، یک ترمینال تعاملی باز خواهد شد (به .Fl t و .Fl T مراجعه کنید). .It Fl p Ar port اتصال به .Ar port (پورت) روی میزبان راه دور. همچنین می‌توان پورت را به صورت .Ar hostname Ns ^ Ns Ar port مشخص کرد. مقدار پیش‌فرض 22 است. .It Fl i Ar idfile فایل هویت (شناسایی). کلید هویت را از فایل .Ar idfile می‌خواند (مشخص کردن چند فایل مجاز است). این فایل با .Xr dropbearkey 1 ایجاد می‌شود یا از OpenSSH به کمک .Xr dropbearconvert 1 تبدیل می‌گردد. مسیر پیش‌فرض .Pa ~/.ssh/id_dropbear مورد استفاده قرار می‌گیرد. .It Fl L Ar [listenaddress]:listenport:host:port هدایت پورت محلی (Local port forwarding). پورت .Ar listenport روی میزبان محلی را از طریق اتصال SSH به .Ar port روی .Ar host هدایت می‌کند. .It Fl R Ar [listenaddress]:listenport:host:port هدایت پورت راه دور (Remote port forwarding). پورت .Ar listenport روی میزبان راه دور را از طریق اتصال SSH به .Ar port روی .Ar host هدایت می‌کند. .It Fl l Ar user نام کاربری. ورود به عنوان .Ar user روی میزبان راه دور. روش جایگزین، مشخص کردن به صورت .Ar user Ns @ Ns Ar host است. .It Fl t تخصیص یک PTY (شبه‌ترمینال). این حالت پیش‌فرض در صورت مشخص نشدن دستور است و یک نشست راه دور کاملاً تعاملی فراهم می‌کند. اثر اصلی آن این است که کلیدهای فشرده‌شده بلافاصله به ماشین راه دور ارسال می‌شوند، بر خلاف ویرایش محلی خط‌به‌خط. .It Fl T عدم تخصیص PTY. این حالت پیش‌فرض در زمان ارائه یک دستور مشخص است. به .Fl t مراجعه کنید. .It Fl N عدم درخواست پوسته راه دور یا اجرای هرگونه دستور. هرگونه آرگومان مربوط به دستور نادیده گرفته می‌شود. .It Fl f رفتن به پس‌زمینه (انشعاب فرایند) پس از احراز هویت. ارائه یک آرگومان دستور (یا .Fl N ) الزامی است. این گزینه هنگام استفاده از احراز هویت با گذرواژه مفید است. .It Fl g اجازه به میزبان‌های غیرمحلی برای اتصال به پورت‌های هدایت‌شده. این گزینه بر پورت‌های هدایت‌شده با .Fl L و .Fl R اعمال می‌شود، هرچند اتصالات راه دور به پورت‌های هدایت‌شده با .Fl R ممکن است توسط سرور ssh محدود شده باشد. .It Fl y پذیرش همیشگی کلیدهای میزبان در صورت ناشناخته بودن آن‌ها. اگر عدم تطابق در کلید میزبان رخ دهد، اتصال مطابق معمول لغو خواهد شد. اگر این گزینه دو بار مشخص شود، هیچ‌گونه بررسی کلید میزبان انجام نخواهد شد، که معمولاً وضعیتی نامطلوب و ناامن است. .It Fl A هدایت اتصالات عامل (Agent) به میزبان راه دور. در صورت موجود بودن، dbclient از هر برنامه عامل به سبک OpenSSH استفاده خواهد کرد .Po متغیر .Ev SSH_AUTH_SOCK تنظیم خواهد شد .Pc برای احراز هویت کلید عمومی. هدایت عامل تنها در صورتی فعال می‌شود که .Fl A مشخص شده باشد. .Pp توجه داشته باشید که هدایت اتصال عامل به سرور راه دور اجازه می‌دهد به همان اطلاعات اعتبارسنجی احراز هویتی که به صورت محلی استفاده کرده‌اید دسترسی پیدا کند. یک سرور راه دور نفوذ‌یافته می‌تواند از این امکان برای ورود به سرورهای دیگر استفاده کند. .Pp در بسیاری از شرایط، حالت چندجهشی Dropbear جایگزین بهتر و امن‌تری برای هدایت عامل است و نیاز به اعتماد به سرور میانی را برطرف می‌کند. .Pp اگر برنامه عامل SSH طوری تنظیم شده باشد که هنگام استفاده از یک کلید اعلان تأیید نمایش دهد، گزینه .Fl o Ar DisableTrivialAuth می‌تواند از سردرگمی در رابط کاربری جلوگیری کند. .It Fl W Ar windowsize تعیین اندازه بافر پنجره دریافت برای هر کانال. افزایش این مقدار ممکن است عملکرد شبکه را به بهای مصرف حافظه بیشتر بهبود بخشد. از گزینه .Fl h برای مشاهده اندازه بافر پیش‌فرض استفاده کنید. .It Fl K Ar timeout_seconds اطمینان از ارسال ترافیک در فواصل زمانی معین بر حسب ثانیه (Keepalive). این گزینه برای دور زدن فایروال‌ها یا روترهایی که اتصالات را پس از مدتی بی‌تحرکی قطع می‌کنند مفید است. نکته منفی آن این است که در صورت بروز قطعی موقت در اتصال شبکه، نشست ممکن است بسته شود. تنظیم مقدار 0 ارسال بسته‌های زنده نگه داشتن اتصال را غیرفعال می‌کند. اگر برای ۳ درخواست زنده نگه‌داری متوالی پاسخی دریافت نشود، اتصال بسته خواهد شد. .It Fl I Ar idle_timeout قطع نشست در صورتی که هیچ ترافیکی به مدت .Ar idle_timeout ثانیه ارسال یا دریافت نشود. .It Fl z به‌طور پیش‌فرض Dropbear ترافیک شبکه را با تنظیم .Dv AF21 برای QoS ارسال می‌کند تا دستگاه‌های شبکه اولویت بالاتری به آن اختصاص دهند. برخی دستگاه‌ها ممکن است با این ویژگی مشکل داشته باشند؛ می‌توان از .Fl z برای غیرفعال کردن آن استفاده کرد. .It Xo .Fl J Ar proxy_command | .Fl J Cm & Ns Ar fd .Xc استفاده از ورودی/خروجی استاندارد برنامه .Ar proxy_command به جای استفاده از یک اتصال معمولی TCP. همچنان باید یک نام میزبان ارائه شود، زیرا از آن برای مقایسه کلیدهای ذخیره‌شده میزبان استفاده می‌شود. این دستور به صورت .Ql exec proxy_command ... توسط پوسته پیش‌فرض اجرا خواهد شد. .Pp شکل دوم .Cm & Ns Ar fd باعث می‌شود dbclient از توصیف‌گر فایل عددی به عنوان سوکت استفاده کند. این قابلیت برای سناریوهای تونل‌زنی پیچیده‌تر کاربرد دارد. یک نمونه استفاده با socat عبارت است از: .Bd -literal -offset indent socat EXEC:'dbclient -J &38 ev',fdin=38,fdout=38 TCP4:host.example.com:22 .Ed .It Fl B Ar endhost:endport حالت شبیه Netcat، که در آن Dropbear به میزبان داده‌شده متصل می‌شود، سپس یک اتصال هدایت‌شده به .Ar endhost ایجاد می‌کند. این اتصال سپس به عنوان ورودی/خروجی استاندارد dbclient ارائه خواهد شد. .It Fl c Ar cipherlist تعیین فهرستی از الگوریتم‌های رمزنگاری (Ciphers) مجاز که با کاما از هم جدا شده‌اند. برای مشاهده گزینه‌های ممکن از .Fl c Cm help استفاده کنید. .It Fl m Ar MAClist تعیین فهرستی از کدهای اصالت‌سنجی پیام (MAC) مجاز برای احراز هویت که با کاما از هم جدا شده‌اند. برای مشاهده گزینه‌های ممکن از .Fl m Cm help استفاده کنید. .It Fl o Ar option می‌تواند برای ارائه گزینه‌ها در قالب مورد استفاده در فایل پیکربندی OpenSSH استفاده شود. این قابلیت برای مشخص کردن گزینه‌هایی مفید است که فلگ خط فرمان مجزایی برای آن‌ها وجود ندارد. برای جزئیات کامل گزینه‌های فهرست‌شده در زیر و مقادیر مجاز آن‌ها، به .Xr ssh_config 5 مراجعه کنید. آرگومان‌های .Cm yes Ns / Ns Cm no همچنین مقادیر .Cm y Ns / Ns Cm n را می‌پذیرند. .Pp گزینه‌های زیر در حال حاضر پیاده‌سازی شده‌اند: .Bl -tag -width Ds .It Cm BatchMode غیرفعال کردن اعلان‌های تعاملی مانند درخواست گذرواژه و تأیید کلید میزبان. آرگومان باید .Cm yes یا .Cm no (پیش‌فرض) باشد. .It Cm BindAddress تعیین آدرس و پورت روی ماشین محلی به عنوان آدرس مبدأ اتصال. .It Cm Compression می‌تواند روی .Cm yes یا .Cm no تنظیم شود. حالت پیش‌فرض بدون فشرده‌سازی است (با گزینه‌های ساخت پیش‌فرض). فعال کردن فشرده‌سازی در برخی شرایط می‌تواند یک نقطه‌ضعف امنیتی باشد، زیرا اندازه ترافیک شبکه ممکن است اطلاعاتی درباره داده‌های رمزگذاری‌شده فاش کند. .Pp فشرده‌سازی تنها زمانی استفاده خواهد شد که سرور نیز از آن پشتیبانی کند. .It Cm DisableTrivialAuth جلوگیری از تأیید فوری و بدون درنگ احراز هویت توسط سرور (بدون نمایش هیچ‌گونه درخواست گذرواژه یا کلید عمومی). این ویژگی از بروز سردرگمی در رابط کاربری جلوگیری می‌کند؛ در مواردی که ممکن است به نظر برسد کاربر در حال پذیرش درخواست عامل SSH از ماشین محلی خود است، اما در واقع در حال پذیرش درخواستی است که بلافاصله توسط سرور راه دور ارسال شده است. .It Cm ExitOnForwardFailure مشخص می‌کند که آیا dbclient در صورت ناتوانی در برقراری تمامی هدایت‌های پورت محلی و راه دور درخواست‌شده، باید اتصال را خاتمه دهد یا خیر. آرگومان باید .Cm yes یا .Cm no (پیش‌فرض) باشد. .It Cm ForwardAgent هدایت عامل احراز هویت به ماشین راه دور. آرگومان باید .Cm yes یا .Cm no (پیش‌فرض) باشد. .It Cm GatewayPorts اجازه به میزبان راه دور برای اتصال به پورت‌های هدایت‌شده محلی. آرگومان باید .Cm yes یا .Cm no (پیش‌فرض) باشد. .It Cm IdentityFile تعیین مسیر فایل هویت احراز هویت. .It Cm PasswordAuthentication اجازه درخواست گذرواژه از کاربر. در صورتی که متغیر محیطی .Ev DROPBEAR_PASSWORD تعیین شده باشد، همچنان استفاده خواهد شد. آرگومان باید .Cm yes (پیش‌فرض) یا .Cm no باشد. .It Cm Port تعیین پورت شنود، مانند آرگومان .Fl p . .It Cm ProxyCommand تعیین دستور پروکسی برای اتصال به سرور. .It Cm ServerAliveInterval تعیین فاصله زمانی بر حسب ثانیه میان پیام‌های زنده نگه‌داری (keep-alive) از طریق کانال رمزگذاری‌شده. مقدار پیش‌فرض 0 (غیرفعال) است. .It Cm StrictHostKeyChecking استفاده از .Cm yes برای رد اتصال به میزبان‌هایی که کلید میزبان آن‌ها از قبل در .Pa known_hosts به‌درستی ثبت نشده است. ورودی‌ها باید به صورت دستی به .Pa known_hosts اضافه شوند. .Pp استفاده از .Cm no برای نادیده گرفتن بررسی کلید در .Pa known_hosts . .Pp استفاده از .Cm accept-new برای افزودن کلیدهای جدید میزبان به .Pa known_hosts و رد اتصال در صورتی که کلید میزبان تغییر کرده باشد. .Pp مقدار .Cm ask پیش‌فرض است. .It Cm UseSyslog ارسال پیام‌های گزارش dbclient علاوه بر stderr به syslog. .El .It Fl s دستور مشخص‌شده به عنوان یک زیرسیستم (subsystem) درخواست خواهد شد، که برای sftp کاربرد دارد. Dropbear خودش sftp را پیاده‌سازی نمی‌کند، اما می‌توان از کلاینت sftp متعلق به OpenSSH استفاده کرد؛ مانند: .Dl sftp -S dbclient user@host .It Fl b Ar [address][:port] اتصال به یک آدرس محلی خاص هنگام برقراری ارتباط با میزبان راه دور. این گزینه می‌تواند برای انتخاب از میان چندین رابط شبکه خروجی استفاده شود. می‌توان آدرس یا پورت (یا هر دو) را مشخص کرد. .It Fl Q Ar algo پرس‌وجوی الگوریتم‌های پشتیبانی‌شده. گزینه‌ها عبارتند از kex، sig، cipher، mac، compress. .It Fl V چاپ نگارش برنامه .El .Sh "چند جهشی (MULTI-HOP)" نرم‌افزار Dropbear همچنین امکان تعیین چند «جهش» (hop) را که با کاما از هم جدا شده‌اند، فراهم می‌کند. در این حالت اتصالی به نخستین میزبان برقرار می‌شود، سپس یک اتصال هدایت‌شده TCP از طریق آن به میزبان دوم برقرار خواهد شد و به همین ترتیب ادامه می‌یابد. میزبان‌هایی غیر از مقصد نهایی، چیزی جز جریان رمزگذاری‌شده SSH مشاهده نخواهند کرد. پورت برای یک میزبان را می‌توان با یک علامت توان (caret) مشخص کرد (مانند .Ar matt Ns @ Ns Ar martello Ns ^ Ns Ar 44 ) . این نحو نگارش را می‌توان با scp یا rsync نیز به کار برد (با تعیین dbclient به عنوان دستور ssh/rsh). یک فایل را می‌توان از میان چندین جهش SSH عبور داد؛ مانند: .Bd -literal -offset indent scp -S dbclient matt@martello,root@wrt,canyons:/tmp/dump . .Ed .Pp توجه داشته باشید که نام‌های میزبان توسط جهش قبلی تحلیل و حل می‌شوند (بنابراین "canyons" در مثال بالا توسط میزبان "wrt" تحلیل خواهد شد)، درست همانند سایر میزبان‌های هدایت‌شده TCP با .Fl L . کلیدهای میزبان بر اساس نام میزبان داده‌شده به صورت محلی بررسی می‌شوند. .Sh "نویسه‌های گریز (ESCAPE CHARACTERS)" فشردن یک خط جدید و به دنبال آن توالی کلید .Ql ~. (تیلدا، نقطه) اتصال را قطع می‌کند. توالی .Ql ~^Z (تیلدا، ctrl-z) اتصال را به پس‌زمینه می‌برد. این رفتار تنها در صورت استفاده از PTY اعمال می‌شود. .Pp .Ql ~R فرایند تبادل مجدد کلیدهای موقت نشست را انجام می‌دهد. .Sh "محیط (ENVIRONMENT)" .Bl -tag -width Ds .It Ev DROPBEAR_PASSWORD گذرواژه مورد استفاده برای احراز هویت راه دور را می‌توان در متغیر محیطی .Ev DROPBEAR_PASSWORD مشخص کرد. باید مراقبت شود که گذرواژه در یک سیستم چندکاربره در معرض دید سایر کاربران قرار نگیرد یا در فایل‌های دردسترس ذخیره نشود. .It Ev SSH_ASKPASS برنامه dbclient می‌تواند از یک برنامه خارجی برای درخواست گذرواژه از کاربر استفاده کند. متغیر .Ev SSH_ASKPASS باید روی مسیر برنامه‌ای تنظیم شود که گذرواژه را در خروجی استاندارد بازمی‌گرداند. این برنامه تنها در صورتی استفاده خواهد شد که متغیر .Ev DISPLAY تنظیم شده باشد و ورودی استاندارد یک TTY نباشد، یا اینکه متغیر محیطی .Ev SSH_ASKPASS_ALWAYS تنظیم شده باشد. .El .Sh "فایل‌ها (FILES)" .Bl -tag -width Ds .It Pa ~/.ssh/dropbear_config این فایل پیکربندی ویژه هر کاربر است. زیرمجموعه بسیار محدودی از کلیدواژه‌های .Xr ssh_config 5 پشتیبانی می‌شود، و هیچ‌یک از ویژگی‌های پیشرفته در دسترس نیست. این فایل شامل جفت‌های کلید و مقدار در یک خط واحد است که با فاصله یا .Ql = از یکدیگر جدا شده‌اند. خطوط خالی نادیده گرفته می‌شوند. متنی که با .Ql # آغاز شود توضیح (کامنت) تلقی شده و نادیده گرفته می‌شود. .Pp در صورت استفاده از اتصال چندجهشی، این فایل در نظر گرفته نمی‌شود. مقادیر موجود در خط فرمان بر مقادیر متناظر در این فایل اولویت دارند. .Pp کلیدواژه‌های شناخته‌شده به شرح زیر هستند. کلیدواژه‌ها و مقادیر به بزرگی و کوچکی حروف حساس نیستند (case insensitive). .Bl -tag -width Ds .It Cm Host گزینه‌هایی را تعریف می‌کند که در صورت تطابق این مقدار با میزبان مشخص‌شده در خط فرمان، اعمال خواهند شد. ورودی بعدی .Cm Host یا .Dv EOF (پایان فایل)، فهرست گزینه‌های قابل اعمال را مشخص می‌کند. .It Cm HostName نام واقعی میزبان را برای اتصال مشخص می‌کند. می‌تواند نام DNS یا آدرس IP باشد. .It Cm Port شماره پورت مورد استفاده برای اتصال به میزبان راه دور را مشخص می‌کند. .It Cm User نام کاربری را برای ورود مشخص می‌کند. .It Cm IdentityFile فایل حاوی کلید خصوصی مورد استفاده برای احراز هویت کلید عمومی با میزبان راه دور را مشخص می‌کند. این فایل باید در قالب Dropbear باشد. برای ایجاد آن به .Xr dropbearkey 1 مراجعه کنید. .Pa ~/ در ابتدای مسیر، به دایرکتوری خانگی کاربر اجراکننده گسترش می‌یابد. مسیری که با .Pa / شروع نشود، نسبی به دایرکتوری این فایل پیکربندی در نظر گرفته خواهد شد. در غیر این صورت، مسیر همان‌طور که هست استفاده می‌شود. .El .Pp از آنجا که این فایل شامل اطلاعات محرمانه است، باید مجوزهای سخت‌گیرانه‌ای برای جلوگیری از سوءاستفاده داشته باشد: خواندن/نوشتن منحصراً برای کاربر اجراکننده و عدم دسترسی برای سایر کاربران. .El .Sh "نکات (NOTES)" اگر با پشتیبانی از zlib کامپایل شده باشد و سرور نیز از آن پشتیبانی کند، dbclient همواره از فشرده‌سازی استفاده خواهد کرد. .Sh "همچنین ببینید (SEE ALSO)" .Xr dropbearkey 1 , .Xr dropbear 8 .Pp .Lk https://matt.ucc.asn.au/dropbear/dropbear.html .Sh "نویسندگان (AUTHORS)" .An Matt Johnston Aq Mt matt@ucc.asn.au . .An Mihnea Stoenescu پشتیبانی اولیه کلاینت Dropbear را نوشت. .An Gerrit Pape Aq Mt pape@smarden.org این صفحه راهنما را نگاشت.