sftp v0.8

http://www.xbill.org/sftp

Author:

Brian Wellington (bwelling@xbill.org)
December 26, 1999

sftp is an ftp replacement that runs over an ssh tunnel.  Two programs are
included - sftp and sftpserv.  When sftp is run and a host is connected to
(either by running 'sftp remotehost' or 'open remotehost' from the sftp
prompt), an ssh connection is initiated to the remote host, and sftpserv is
run.  So, sftpserv must be in your path on the remote host.  Note that since
sftpserv is run from ssh, no root privileges are necessary.  By default,
sftpserv is expected to be in $PATH on the remote host.  This can be overriden
by passing '--enable-remotepath=<path>' to configure or using the
'-P remotepath' option to sftp.  To run as a different user, use the
'-l remoteuser' option.  To connect to an alternate port with ssh,
use the '-p remoteport' option.  To enable ssh compression, use '-C'.  To pass
arbitrary other commands to ssh, use '-s sshargs'.

From within sftp, most of the normal ftp commands are present.  Run 'help' to
get a complete list.  When using 'exec', the program must not accept input
('exec ls' is ok, but 'exec vi' is not).  To run local commands, precede them
with a '!'.

When building sftp, a link is made to rsftp, which uses rsh instead of ssh.
sftp has been tested with rsh (with and without .rhosts) and ssh1 (with
ssh-agent, password, RSA authentication, and TISAuthentication).  I haven't
tested ssh2, but it should work.  The login process is a bit of a hack, so if
logging in doesn't work, it's a bug and should be fixed.

sftp uses a fairly simple multiplexed protocol over an SSH channel.  The server
is a state machine, and is far more capable than the client.  As an example,
the server theoretically could handle multiple concurrent file transfers, but
the client will only send one.

This was mostly written during the summer of 1998, and resurrected in October,
1999.  I don't know how much time I want to spend adding new features, but
bugs will be fixed.

sftp is distributed under the GNU General Public License (GPL), Version 2.
