| DBCLIENT(1) | General Commands Manual | DBCLIENT(1) |
نام (NAME)
dbclient —
کلاینت
سبک SSH
خلاصه دستور (SYNOPSIS)
dbclient [flag
arguments] [-p port]
[-i id]
[-L l:h:p]
[-R l:h:p]
[-l user]
host [more flags]
[command]
dbclient [args]
[user1]@host1[^port1],[user2]@host2[^port2],...
توضیحات (DESCRIPTION)
dbclient بخش
کلاینت Dropbear SSH
است.
گزینهها (OPTIONS)
- command
- دستوری
برای اجرا
روی میزبان
راه دور.
این دستور
معمولاً
توسط
میزبان راه
دور با
استفاده از
پوسته
کاربر اجرا
خواهد شد.
دستور از
نخستین
آرگومان
دارای خط
تیره پس از
آرگومان
میزبان
آغاز
میشود. در
صورتی که
هیچ دستوری
مشخص نشود،
یک ترمینال
تعاملی باز
خواهد شد
(به
-tو-Tمراجعه کنید). -pport- اتصال به port (پورت) روی میزبان راه دور. همچنین میتوان پورت را به صورت hostname^port مشخص کرد. مقدار پیشفرض 22 است.
-iidfile- فایل هویت (شناسایی). کلید هویت را از فایل idfile میخواند (مشخص کردن چند فایل مجاز است). این فایل با dropbearkey(1) ایجاد میشود یا از OpenSSH به کمک dropbearconvert(1) تبدیل میگردد. مسیر پیشفرض ~/.ssh/id_dropbear مورد استفاده قرار میگیرد.
-L[listenaddress]:listenport:host:port- هدایت پورت محلی (Local port forwarding). پورت listenport روی میزبان محلی را از طریق اتصال SSH به port روی host هدایت میکند.
-R[listenaddress]:listenport:host:port- هدایت پورت راه دور (Remote port forwarding). پورت listenport روی میزبان راه دور را از طریق اتصال SSH به port روی host هدایت میکند.
-luser- نام کاربری. ورود به عنوان user روی میزبان راه دور. روش جایگزین، مشخص کردن به صورت user@host است.
-t- تخصیص یک PTY (شبهترمینال). این حالت پیشفرض در صورت مشخص نشدن دستور است و یک نشست راه دور کاملاً تعاملی فراهم میکند. اثر اصلی آن این است که کلیدهای فشردهشده بلافاصله به ماشین راه دور ارسال میشوند، بر خلاف ویرایش محلی خطبهخط.
-T- عدم تخصیص PTY.
این حالت
پیشفرض در
زمان ارائه
یک دستور
مشخص است.
به
-tمراجعه کنید. -N- عدم درخواست پوسته راه دور یا اجرای هرگونه دستور. هرگونه آرگومان مربوط به دستور نادیده گرفته میشود.
-f- رفتن به
پسزمینه
(انشعاب
فرایند) پس
از احراز
هویت. ارائه
یک آرگومان
دستور (یا
-N) الزامی است. این گزینه هنگام استفاده از احراز هویت با گذرواژه مفید است. -g- اجازه به
میزبانهای
غیرمحلی
برای اتصال
به
پورتهای
هدایتشده.
این گزینه
بر
پورتهای
هدایتشده
با
-Lو-Rاعمال میشود، هرچند اتصالات راه دور به پورتهای هدایتشده با-Rممکن است توسط سرور ssh محدود شده باشد. -y- پذیرش همیشگی کلیدهای میزبان در صورت ناشناخته بودن آنها. اگر عدم تطابق در کلید میزبان رخ دهد، اتصال مطابق معمول لغو خواهد شد. اگر این گزینه دو بار مشخص شود، هیچگونه بررسی کلید میزبان انجام نخواهد شد، که معمولاً وضعیتی نامطلوب و ناامن است.
-A- هدایت
اتصالات
عامل (Agent) به
میزبان راه
دور. در
صورت موجود
بودن، dbclient از
هر برنامه
عامل به سبک
OpenSSH استفاده
خواهد کرد
(متغیر
SSH_AUTH_SOCKتنظیم خواهد شد) برای احراز هویت کلید عمومی. هدایت عامل تنها در صورتی فعال میشود که-Aمشخص شده باشد.توجه داشته باشید که هدایت اتصال عامل به سرور راه دور اجازه میدهد به همان اطلاعات اعتبارسنجی احراز هویتی که به صورت محلی استفاده کردهاید دسترسی پیدا کند. یک سرور راه دور نفوذیافته میتواند از این امکان برای ورود به سرورهای دیگر استفاده کند.
در بسیاری از شرایط، حالت چندجهشی Dropbear جایگزین بهتر و امنتری برای هدایت عامل است و نیاز به اعتماد به سرور میانی را برطرف میکند.
اگر برنامه عامل SSH طوری تنظیم شده باشد که هنگام استفاده از یک کلید اعلان تأیید نمایش دهد، گزینه
-oDisableTrivialAuth میتواند از سردرگمی در رابط کاربری جلوگیری کند. -Wwindowsize- تعیین
اندازه
بافر پنجره
دریافت
برای هر
کانال.
افزایش این
مقدار ممکن
است عملکرد
شبکه را به
بهای مصرف
حافظه
بیشتر
بهبود بخشد.
از گزینه
-hبرای مشاهده اندازه بافر پیشفرض استفاده کنید. -Ktimeout_seconds- اطمینان از ارسال ترافیک در فواصل زمانی معین بر حسب ثانیه (Keepalive). این گزینه برای دور زدن فایروالها یا روترهایی که اتصالات را پس از مدتی بیتحرکی قطع میکنند مفید است. نکته منفی آن این است که در صورت بروز قطعی موقت در اتصال شبکه، نشست ممکن است بسته شود. تنظیم مقدار 0 ارسال بستههای زنده نگه داشتن اتصال را غیرفعال میکند. اگر برای ۳ درخواست زنده نگهداری متوالی پاسخی دریافت نشود، اتصال بسته خواهد شد.
-Iidle_timeout- قطع نشست در صورتی که هیچ ترافیکی به مدت idle_timeout ثانیه ارسال یا دریافت نشود.
-z- بهطور
پیشفرض Dropbear
ترافیک
شبکه را با
تنظیم
AF21برای QoS ارسال میکند تا دستگاههای شبکه اولویت بالاتری به آن اختصاص دهند. برخی دستگاهها ممکن است با این ویژگی مشکل داشته باشند؛ میتوان از-zبرای غیرفعال کردن آن استفاده کرد. -Jproxy_command |-J&fd- استفاده از
ورودی/خروجی
استاندارد
برنامه
proxy_command به
جای
استفاده از
یک اتصال
معمولی TCP.
همچنان
باید یک نام
میزبان
ارائه شود،
زیرا از آن
برای
مقایسه
کلیدهای
ذخیرهشده
میزبان
استفاده
میشود. این
دستور به
صورت ‘
exec proxy_command ...’ توسط پوسته پیشفرض اجرا خواهد شد.شکل دوم
&fd باعث میشود dbclient از توصیفگر فایل عددی به عنوان سوکت استفاده کند. این قابلیت برای سناریوهای تونلزنی پیچیدهتر کاربرد دارد. یک نمونه استفاده با socat عبارت است از:socat EXEC:'dbclient -J &38 ev',fdin=38,fdout=38 TCP4:host.example.com:22
-Bendhost:endport- حالت شبیه Netcat، که در آن Dropbear به میزبان دادهشده متصل میشود، سپس یک اتصال هدایتشده به endhost ایجاد میکند. این اتصال سپس به عنوان ورودی/خروجی استاندارد dbclient ارائه خواهد شد.
-ccipherlist- تعیین
فهرستی از
الگوریتمهای
رمزنگاری (Ciphers)
مجاز که با
کاما از هم
جدا
شدهاند.
برای
مشاهده
گزینههای
ممکن از
-chelpاستفاده کنید. -mMAClist- تعیین
فهرستی از
کدهای
اصالتسنجی
پیام (MAC) مجاز
برای احراز
هویت که با
کاما از هم
جدا
شدهاند.
برای
مشاهده
گزینههای
ممکن از
-mhelpاستفاده کنید. -ooption- میتواند
برای ارائه
گزینهها
در قالب
مورد
استفاده در
فایل
پیکربندی OpenSSH
استفاده
شود. این
قابلیت
برای مشخص
کردن
گزینههایی
مفید است که
فلگ خط
فرمان
مجزایی
برای آنها
وجود ندارد.
برای
جزئیات
کامل
گزینههای
فهرستشده
در زیر و
مقادیر
مجاز
آنها، به
ssh_config(5)
مراجعه
کنید.
آرگومانهای
yes/noهمچنین مقادیرy/nرا میپذیرند.گزینههای زیر در حال حاضر پیادهسازی شدهاند:
BatchMode- غیرفعال
کردن
اعلانهای
تعاملی
مانند
درخواست
گذرواژه و
تأیید
کلید
میزبان.
آرگومان
باید
yesیاno(پیشفرض) باشد. BindAddress- تعیین آدرس و پورت روی ماشین محلی به عنوان آدرس مبدأ اتصال.
Compression- میتواند
روی
yesیاnoتنظیم شود. حالت پیشفرض بدون فشردهسازی است (با گزینههای ساخت پیشفرض). فعال کردن فشردهسازی در برخی شرایط میتواند یک نقطهضعف امنیتی باشد، زیرا اندازه ترافیک شبکه ممکن است اطلاعاتی درباره دادههای رمزگذاریشده فاش کند.فشردهسازی تنها زمانی استفاده خواهد شد که سرور نیز از آن پشتیبانی کند.
DisableTrivialAuth- جلوگیری از تأیید فوری و بدون درنگ احراز هویت توسط سرور (بدون نمایش هیچگونه درخواست گذرواژه یا کلید عمومی). این ویژگی از بروز سردرگمی در رابط کاربری جلوگیری میکند؛ در مواردی که ممکن است به نظر برسد کاربر در حال پذیرش درخواست عامل SSH از ماشین محلی خود است، اما در واقع در حال پذیرش درخواستی است که بلافاصله توسط سرور راه دور ارسال شده است.
ExitOnForwardFailure- مشخص
میکند که
آیا dbclient در
صورت
ناتوانی
در
برقراری
تمامی
هدایتهای
پورت محلی
و راه دور
درخواستشده،
باید
اتصال را
خاتمه دهد
یا خیر.
آرگومان
باید
yesیاno(پیشفرض) باشد. ForwardAgent- هدایت
عامل
احراز
هویت به
ماشین راه
دور.
آرگومان
باید
yesیاno(پیشفرض) باشد. GatewayPorts- اجازه به
میزبان
راه دور
برای
اتصال به
پورتهای
هدایتشده
محلی.
آرگومان
باید
yesیاno(پیشفرض) باشد. IdentityFile- تعیین مسیر فایل هویت احراز هویت.
PasswordAuthentication- اجازه
درخواست
گذرواژه
از کاربر.
در صورتی
که متغیر
محیطی
DROPBEAR_PASSWORDتعیین شده باشد، همچنان استفاده خواهد شد. آرگومان بایدyes(پیشفرض) یاnoباشد. Port- تعیین
پورت
شنود،
مانند
آرگومان
-p. ProxyCommand- تعیین دستور پروکسی برای اتصال به سرور.
ServerAliveInterval- تعیین فاصله زمانی بر حسب ثانیه میان پیامهای زنده نگهداری (keep-alive) از طریق کانال رمزگذاریشده. مقدار پیشفرض 0 (غیرفعال) است.
StrictHostKeyChecking- استفاده
از
yesبرای رد اتصال به میزبانهایی که کلید میزبان آنها از قبل در known_hosts بهدرستی ثبت نشده است. ورودیها باید به صورت دستی به known_hosts اضافه شوند.استفاده از
noبرای نادیده گرفتن بررسی کلید در known_hosts.استفاده از
accept-newبرای افزودن کلیدهای جدید میزبان به known_hosts و رد اتصال در صورتی که کلید میزبان تغییر کرده باشد.مقدار
askپیشفرض است. UseSyslog- ارسال پیامهای گزارش dbclient علاوه بر stderr به syslog.
-s- دستور
مشخصشده
به عنوان یک
زیرسیستم
(subsystem) درخواست
خواهد شد،
که برای sftp
کاربرد
دارد. Dropbear
خودش sftp را
پیادهسازی
نمیکند،
اما
میتوان از
کلاینت sftp
متعلق به OpenSSH
استفاده
کرد؛ مانند:
sftp -S dbclient user@host -b[address][:port]- اتصال به یک آدرس محلی خاص هنگام برقراری ارتباط با میزبان راه دور. این گزینه میتواند برای انتخاب از میان چندین رابط شبکه خروجی استفاده شود. میتوان آدرس یا پورت (یا هر دو) را مشخص کرد.
-Qalgo- پرسوجوی الگوریتمهای پشتیبانیشده. گزینهها عبارتند از kex، sig، cipher، mac، compress.
-V- چاپ نگارش برنامه
چند جهشی (MULTI-HOP)
نرمافزار Dropbear همچنین امکان تعیین چند «جهش» (hop) را که با کاما از هم جدا شدهاند، فراهم میکند. در این حالت اتصالی به نخستین میزبان برقرار میشود، سپس یک اتصال هدایتشده TCP از طریق آن به میزبان دوم برقرار خواهد شد و به همین ترتیب ادامه مییابد. میزبانهایی غیر از مقصد نهایی، چیزی جز جریان رمزگذاریشده SSH مشاهده نخواهند کرد. پورت برای یک میزبان را میتوان با یک علامت توان (caret) مشخص کرد (مانند matt@martello^44). این نحو نگارش را میتوان با scp یا rsync نیز به کار برد (با تعیین dbclient به عنوان دستور ssh/rsh). یک فایل را میتوان از میان چندین جهش SSH عبور داد؛ مانند:
scp -S dbclient matt@martello,root@wrt,canyons:/tmp/dump .
توجه
داشته
باشید که
نامهای
میزبان
توسط جهش
قبلی تحلیل
و حل
میشوند
(بنابراین
"canyons" در مثال
بالا توسط
میزبان "wrt"
تحلیل
خواهد شد)،
درست
همانند
سایر
میزبانهای
هدایتشده TCP
با -L.
کلیدهای
میزبان بر
اساس نام
میزبان
دادهشده
به صورت
محلی بررسی
میشوند.
نویسههای گریز (ESCAPE CHARACTERS)
فشردن یک
خط جدید و به
دنبال آن
توالی کلید
‘~.’
(تیلدا،
نقطه) اتصال
را قطع
میکند.
توالی
‘~^Z’
(تیلدا، ctrl-z)
اتصال را به
پسزمینه
میبرد. این
رفتار تنها
در صورت
استفاده از
PTY اعمال
میشود.
‘~R’
فرایند
تبادل مجدد
کلیدهای
موقت نشست
را انجام
میدهد.
محیط (ENVIRONMENT)
DROPBEAR_PASSWORD- گذرواژه
مورد
استفاده
برای احراز
هویت راه
دور را
میتوان در
متغیر
محیطی
DROPBEAR_PASSWORDمشخص کرد. باید مراقبت شود که گذرواژه در یک سیستم چندکاربره در معرض دید سایر کاربران قرار نگیرد یا در فایلهای دردسترس ذخیره نشود. SSH_ASKPASS- برنامه dbclient
میتواند
از یک
برنامه
خارجی برای
درخواست
گذرواژه از
کاربر
استفاده
کند. متغیر
SSH_ASKPASSباید روی مسیر برنامهای تنظیم شود که گذرواژه را در خروجی استاندارد بازمیگرداند. این برنامه تنها در صورتی استفاده خواهد شد که متغیرDISPLAYتنظیم شده باشد و ورودی استاندارد یک TTY نباشد، یا اینکه متغیر محیطیSSH_ASKPASS_ALWAYSتنظیم شده باشد.
فایلها (FILES)
- ~/.ssh/dropbear_config
- این فایل
پیکربندی
ویژه هر
کاربر است.
زیرمجموعه
بسیار
محدودی از
کلیدواژههای
ssh_config(5)
پشتیبانی
میشود، و
هیچیک از
ویژگیهای
پیشرفته در
دسترس نیست.
این فایل
شامل
جفتهای
کلید و
مقدار در یک
خط واحد است
که با فاصله
یا ‘
=’ از یکدیگر جدا شدهاند. خطوط خالی نادیده گرفته میشوند. متنی که با ‘#’ آغاز شود توضیح (کامنت) تلقی شده و نادیده گرفته میشود.در صورت استفاده از اتصال چندجهشی، این فایل در نظر گرفته نمیشود. مقادیر موجود در خط فرمان بر مقادیر متناظر در این فایل اولویت دارند.
کلیدواژههای شناختهشده به شرح زیر هستند. کلیدواژهها و مقادیر به بزرگی و کوچکی حروف حساس نیستند (case insensitive).
Host- گزینههایی
را تعریف
میکند که
در صورت
تطابق این
مقدار با
میزبان
مشخصشده
در خط
فرمان،
اعمال
خواهند شد.
ورودی
بعدی
HostیاEOF(پایان فایل)، فهرست گزینههای قابل اعمال را مشخص میکند. HostName- نام واقعی میزبان را برای اتصال مشخص میکند. میتواند نام DNS یا آدرس IP باشد.
Port- شماره پورت مورد استفاده برای اتصال به میزبان راه دور را مشخص میکند.
User- نام کاربری را برای ورود مشخص میکند.
IdentityFile- فایل حاوی کلید خصوصی مورد استفاده برای احراز هویت کلید عمومی با میزبان راه دور را مشخص میکند. این فایل باید در قالب Dropbear باشد. برای ایجاد آن به dropbearkey(1) مراجعه کنید. ~/ در ابتدای مسیر، به دایرکتوری خانگی کاربر اجراکننده گسترش مییابد. مسیری که با / شروع نشود، نسبی به دایرکتوری این فایل پیکربندی در نظر گرفته خواهد شد. در غیر این صورت، مسیر همانطور که هست استفاده میشود.
از آنجا که این فایل شامل اطلاعات محرمانه است، باید مجوزهای سختگیرانهای برای جلوگیری از سوءاستفاده داشته باشد: خواندن/نوشتن منحصراً برای کاربر اجراکننده و عدم دسترسی برای سایر کاربران.
نکات (NOTES)
اگر با پشتیبانی از zlib کامپایل شده باشد و سرور نیز از آن پشتیبانی کند، dbclient همواره از فشردهسازی استفاده خواهد کرد.
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
Matt Johnston <matt@ucc.asn.au>. Mihnea Stoenescu پشتیبانی اولیه کلاینت Dropbear را نوشت. Gerrit Pape <pape@smarden.org> این صفحه راهنما را نگاشت.
| February 1, 2023 | Linux 6.12.107+deb13-amd64 |