1ZSSH(1) ZSSH ZSSH(1)
2
3
4
6 zssh - interactive file transfer wrapper for ssh
7
8
10 zssh [zssh options] [--] [ssh options]
11 ztelnet [zssh options] [--] [telnet options]
12
13
15 zssh (Zmodem SSH) is a program for interactively transferring files to
16 a remote machine while using the secure shell ( ssh ). It is intended
17 to be a convenient alternative to scp , allowing to transfer files
18 without having to open another session and re-authenticate oneself.
19
20 zssh is an interactive wrapper for ssh used to switch the ssh connec‐
21 tion between the remote shell and file transfers. This is achieved by
22 using another tty/pty pair between the user and the local ssh process
23 to plug either the user's tty (remote shell mode) or another process
24 (file transfer mode) on the ssh connection.
25
26 ztelnet behaves similarly to zssh, except telnet is used instead of
27 ssh. It is equivalent to 'zssh -s "telnet -8 -E"'
28
29 Files are transferred through the zmodem protocol, using the rz and sz
30 commands.
31
32 zssh behaves as an usual ssh session until the escape sequence is
33 depressed ( default is ^@ which can be produced by pressing C-space, or
34 C-2, or C-` ), which enables file transfer mode. A new prompt is then
35 displayed, and commands can be executed locally to initiate file trans‐
36 fers (among other things). It roughly behaves as a local shell featur‐
37 ing line edition, history and completion (thanks to libreadline), glob‐
38 bing, and escape characters ( " ' and \ ).
39
40 The following builtins are handled by zssh itself: ? , cd , disconnect
41 , escape , exit , help , hook , quit , repeat , rz , suspend , sz ,
42 version
43
44
45 cd <dir> change current directory
46
47 disconnect disconnect and exit
48
49 escape [^X] Change escape key to ^X. Without argument, print
50 current escape key
51
52 exit exit file transfer mode. ^D may also be used for
53 this purpose.
54
55 help print help and tips
56 ?
57
58 hook prg [args] Hook program 'prg' on the the pty. Its standard
59 input and output will go through the ssh channel.
60 typing 'sz'/'rz' is in fact equivalent to 'hook
61 sz'/'hook rz'
62 A weird imagination is most useful to gain full
63 advantage of this feature.
64
65 quit same as exit.
66
67 repeat repeats cmd forever (^C to interrupt). Useful for
68 example if you use a remote script invoking "sz"
69 and you don't want to be typing "rz" each time...
70 Remember however that several files can be trans‐
71 ferred by a single sz/rz pair so this is not usu‐
72 ally necessary to use repeat.
73
74 rz Receive files from the remote machine. runs rz and
75 plugs the process on the ssh connection. running
76 sz on the REMOTE machine is required :
77 1) run `sz <remote_file> ...' from the remote
78 machine shell
79 2) press the escape sequence (C-space) to enter
80 file transfer mode
81 3) run the `rz' builtin
82
83 suspend suspend zssh (back to the local machine shell)
84
85 sz <file> ... Send files to the remote machine. runs sz and plugs
86 the process on the ssh connection. There is no
87 need to manually run rz on the remote side.
88
89 version print version information
90
91
92
93 builtins rz , sz , hook and exit return to shell mode after completion.
94
95
97 -f
98 --force Do not ask user any question
99
100 -h
101 --help show basic help
102
103 -s cmd
104 --shell cmd run cmd as remote shell instead of the default "ssh
105 -e none" (zssh) or "telnet -8 -E" (ztelnet)
106 ex: zssh -s "rsh -x"
107
108 -V
109 --version show version
110
111 -z ^X
112 --zssh-escape ^X set escape sequence to ^X
113
114
115 -- may be used to separate zssh options from ssh ones
116 Other arguments are passed verbatim to ssh/telnet/whatever.
117
118
120 ZSSHESCAPE
121 Setting the ZSSHESCAPE environment variable allows one to
122 override the default escape sequence. ZSSHESCAPE should con‐
123 tain only two characters of the form `^X', meaning that ^X is
124 to be the new escape sequence.
125
126
128 the following binaries need to be properly installed for zssh to work :
129
130 ssh/telnet/...
131 the remote shell to be executed (local machine)
132
133 sz rz zmodem send and receive programs. Should be both on local and
134 remote machine, and (hopefully) of compatible versions.
135
137 If file transfer is initiated but never completes
138 ( ie a line like :
139 Bytes Sent: 38144/4610624 BPS:3424 ETA 22:15
140 or
141 Bytes Sent: 0/ 513 BPS:0 ETA 00:00 Retry 0: Got
142 ZCAN
143 can be seen, but transfer never completes
144 )
145 Chances are the pty/tty on one of the systems are not 8-bit clean.
146 (Linux is 8-bit clean, NetBSD is not).
147 Using the -e (escape) option of rz should solve this problem.
148
149 Transfers can be interrupted with ^C (somewhat experimental =)
150
151 If you get stuck in rz/sz (for example you've just ran rz, but you then
152 decided not to transmit anything), hit a dozen ^X (Ctrl-X, not the zssh
153 escape!) to stop it
154
155 Use `sz -y <files>' to overwrite files on the other side
156
157
158
160 You may sometimes have to hit return 2 or 3 times after file transfer
161 completion in order get back to the shell. Some digits are usually dis‐
162 played; don't worry it won't harm (you or your term) ...
163
164 the tty may (sometimes) be somewhat upset after an interrupted transfer
165 ( using ^C ). typing `reset' in this case should help.
166
167 no pipe, redirection (and other stuff) support in shell ... but after
168 all there are already wonderful shells around =)
169
170
172 ttssh's author - Robert O'Callahan - for the original idea
173
174 The sourceforge team.
175
176
178 Matthieu Lucotte <gounter@users.sourceforge.net>
179
180 zssh homepage: http://zssh.sourceforge.net
181
182
184 ssh(1), telnet(1), scp(1), sz(1), rz(1), readline(3),
185
186
187
188ZSSH June 26, 2000 ZSSH(1)