ZSSH(1) ZSSH ZSSH(1)
نام (NAME)
zssh - پوشش تعاملی انتقال فایل برای ssh
خلاصه دستور (SYNOPSIS)
zssh [گزینههای zssh] [--] [گزینههای ssh]
ztelnet [گزینههای zssh] [--] [گزینههای telnet]
توضیحات (DESCRIPTION)
zssh (Zmodem SSH) برنامهای برای انتقال تعاملی فایلها به یک ماشین دوردست
همگام با استفاده از پوستهٔ امن ( ssh ) است. این ابزار به عنوان جایگزینی
راحت برای scp در نظر گرفته شده است که امکان انتقال فایلها را بدون نیاز
به باز کردن نشستی دیگر و احراز هویت مجدد فراهم میکند.
برنامهٔ zssh یک پوشش تعاملی برای ssh است که جهت جابهجایی اتصال ssh میان
پوستهٔ دوردست و انتقال فایل استفاده میشود. این کار با استفاده از یک جفت
tty/pty دیگر میان کاربر و فرایند محلی ssh انجام میگیرد تا tty کاربر
(حالت پوستهٔ دوردست) یا فرایندی دیگر (حالت انتقال فایل) را به اتصال ssh
متصل کند.
عملکرد ztelnet مشابه zssh است، با این تفاوت که به جای ssh از telnet
استفاده میشود. این دستور معادل 'zssh -s "telnet -8 -E"' است.
فایلها از طریق پروتکل zmodem و با استفاده از دستورهای rz و sz منتقل
میشوند.
برنامهٔ zssh مانند یک نشست معمولی ssh رفتار میکند تا زمانی که توالی گریز
(escape sequence) فشرده شود (پیشفرض ^@ است که میتواند با فشردن C-space،
یا C-2، یا C-` ایجاد شود)، که حالت انتقال فایل را فعال میکند. سپس یک خط
فرمان جدید نمایش داده میشود و میتوان دستورها را بهطور محلی برای آغاز
انتقال فایل (در میان کارهای دیگر) اجرا کرد. رفتار آن تقریباً شبیه به یک
پوستهٔ محلی با امکان ویرایش خط، تاریخچه و تکمیل خودکار (به لطف
libreadline)، بسط الگو (globbing) و نویسههای گریز ( " و ' و \ ) است.
دستورهای توکار زیر توسط خود zssh مدیریت میشوند: ? , cd , disconnect ,
escape , exit , help , hook , quit , repeat , rz , suspend , sz ,
version
cd
تغییر دایرکتوری جاری
disconnect قطع اتصال و خروج
escape [^X] تغییر کلید گریز به ^X. بدون آرگومان، کلید گریز فعلی
را چاپ میکند
exit خروج از حالت انتقال فایل. کلید ^D نیز میتواند برای
این منظور استفاده شود.
help چاپ راهنما و نکات
?
hook prg [args] قلاب کردن برنامهٔ 'prg' روی pty. ورودی و خروجی
استاندارد آن از کانال ssh عبور خواهد کرد.
تایپ کردن 'sz'/'rz' در واقع معادل 'hook sz'/'hook
rz' است
داشتن تخیلی غریب برای بهرهگیری کامل از این ویژگی
بسیار مفید است.
quit مشابه exit.
repeat دستور cmd را برای همیشه تکرار میکند (^C برای متوقف
کردن). به عنوان مثال زمانی مفید است که از یک
اسکریپت دوردست فراخوانندهٔ "sz" استفاده میکنید و
نمیخواهید هر بار "rz" را تایپ کنید... با این حال
به یاد داشته باشید که چندین فایل را میتوان با یک
جفت sz/rz منتقل کرد، بنابراین معمولاً نیازی به
استفاده از repeat نیست.
rz دریافت فایلها از ماشین دوردست. rz را اجرا کرده و
فرایند را به اتصال ssh متصل میکند. اجرای sz روی
ماشین دوردست (REMOTE) الزامی است:
1) اجرای `sz ...' از پوستهٔ ماشین
دوردست
2) فشردن توالی گریز (C-space) برای ورود به حالت
انتقال فایل
3) اجرای دستور توکار `rz'
suspend معلق کردن zssh (بازگشت به پوستهٔ ماشین محلی)
sz ... ارسال فایلها به ماشین دوردست. sz را اجرا کرده و
فرایند را به اتصال ssh متصل میکند. نیازی به اجرای
دستی rz در سمت دوردست نیست.
version چاپ اطلاعات نسخه
دستورهای توکار rz , sz , hook و exit پس از اتمام به حالت پوسته
بازمیگردند.
گزینهها (OPTIONS)
-f
--force هیچ سؤالی از کاربر پرسیده نشود
-h
--help نمایش راهنمای پایه
-s cmd
--shell cmd اجرای cmd به عنوان پوستهٔ دوردست به جای پیشفرض "ssh
-e none" (در zssh) یا "telnet -8 -E" (در ztelnet)
مثال: zssh -s "rsh -x"
-V
--version نمایش نسخه
-z ^X
--zssh-escape ^X تنظیم توالی گریز روی ^X
-- میتواند برای جداسازی گزینههای zssh از گزینههای ssh استفاده شود
سایر آرگومانها عیناً به ssh/telnet/غیره ارسال میشوند.
محیط (ENVIRONMENT)
ZSSHESCAPE
تنظیم متغیر محیطی ZSSHESCAPE امکان بازنویسی توالی گریز پیشفرض
را فراهم میکند. ZSSHESCAPE باید تنها شامل دو نویسه به صورت
`^X' باشد، به این معنی که ^X توالی گریز جدید خواهد بود.
نیازمندیها (REQUIREMENTS)
برای کارکرد صحیح zssh باید باینریهای زیر به درستی نصب شده باشند:
ssh/telnet/...
پوستهٔ دوردستی که باید اجرا شود (ماشین محلی)
sz rz برنامههای ارسال و دریافت zmodem. باید هم در ماشین محلی و هم
در ماشین دوردست موجود باشند و (ترجیحاً) نسخههای سازگاری داشته
باشند.
نکات (TIPS)
اگر انتقال فایل آغاز شود اما هرگز پایان نیابد
( یعنی خطی مانند:
Bytes Sent: 38144/4610624 BPS:3424 ETA 22:15
یا
Bytes Sent: 0/ 513 BPS:0 ETA 00:00 Retry 0: Got
ZCAN
دیده شود، ولی انتقال هرگز به اتمام نرسد
)
به احتمال زیاد pty/tty در یکی از سیستمها ۸ بیتی تمیز (8-bit clean)
نیست. (لینوکس 8-bit clean است، NetBSD نیست).
استفاده از گزینهٔ -e (escape) در rz باید این مشکل را حل کند.
انتقالها را میتوان با ^C متوقف کرد (تا حدی تجربی است =)
اگر در rz/sz گیر افتادید (برای مثال rz را اجرا کردید، اما سپس تصمیم
گرفتید چیزی ارسال نکنید)، حدود ده بار ^X (کلید Ctrl-X، نه گریز zssh!)
را فشار دهید تا متوقف شود
از `sz -y ' برای بازنویسی فایلها در سمت دیگر استفاده کنید
گزارش باگها (BUGS)
گاهی اوقات ممکن است پس از اتمام انتقال فایل لازم باشد ۲ یا ۳ بار کلید
Return را فشار دهید تا به پوسته برگردید. معمولاً چند رقم نمایش داده
میشود؛ نگران نباشید آسیبی نمیزند (به شما یا ترمینال شما) ...
گاهی ممکن است tty پس از یک انتقال قطعشده (با استفاده از ^C) دچار
بههمریختگی شود. در این صورت تایپ کردن `reset' باید کمک کند.
پشتیبانی از لوله (pipe)، بازهدایت (redirection) و موارد دیگر در این
پوسته وجود ندارد... اما به هر حال پوستههای فوقالعادهای از قبل وجود
دارند =)
قدردانیها (CREDITS)
نویسندهٔ ttssh - رابرت اوکالاهان (Robert O'Callahan) - برای ایدهٔ اصلی
تیم SourceForge.
نویسندگان (AUTHORS)
Matthieu Lucotte
وبگاه zssh:
همچنین ببینید (SEE ALSO)
ssh(1), telnet(1), scp(1), sz(1), rz(1), readline(3)
ZSSH June 26, 2000 ZSSH(1)