Fast Remote Shell
=================

The problem: logging in to a remote system with a cryptographic
solution such as lsh or ssh takes time, due to the computationally
expensive key exchanges that occur when the connection is established.
It is common to trigger a lot of remot logins while using remote CVS,
which makes it painfully slow compared to having the repository
locally.

The solution: reuse the secure tunnel once it has been established.
fsh is a drop-in rsh-compatible replacement for ssh that automatically
resuses ssh tunnels.  Also included is fcp, which is a drop-in
replacement for scp that uses the same tunnels.

Fsh requires Python 1.5.2 or better.  1.5.1 or earlier is not good enough.

Full documentation can be found in fsh.info.


New releases
============

Information about fsh and the latest source code can be found from:

	http://www.lysator.liu.se/fsh/

The source is also available via ftp:

	ftp://ftp.lysator.liu.se/pub/unix/fsh/


Known problems
==============

fsh requires Python 1.5.2 or better.  It uses features not found in
earlier versions of Python.  I could work around those problems, but I
won't, since it would produce uglier code.

Linux (and possibly other operating systems) don't pass the entire
path of the interpreter as argv[0] when a '#!'-shell script is
started.  Python tries to use argv[0] to locate its supporting
libraries.  If it doesn't receive a full path it will look in $PATH
for the first python found, and use its libraries.  This can cause
problems if an older version of Python is found.  One solution is to
re-run configure with "--enable-trampoline", which causes all fsh
programs to use a workaround that involves starting an extra /bin/sh
process.  The workaround adds a small time penalty, but makes sure
that the correct python libraries are found.  See the Python FAQ for
more information on this issue.


Reporting bugs
==============

Bugs can be reported to ceder@lysator.liu.se.  Expect a response time
of at least one to two weeks.  I have been known to reply to mail
after a couple of years in the past.
