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.


Installing fsh
==============

See INSTALL for the standard autoconf installation instructions.  The
configure script understands these special options:

    --disable-timeout
    --enable-timeout=TIME
	If a secure tunnel is unused for a while, fshd will terminate.
	It will be restarted automatically the next time fsh runs.
	The timeout defaults to ten hours.  TIME is measured in seconds.

    --enable-trampoline
	See "Known problems" below.  You probably don't need this.


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/

New relases are announced on the fsh-announce mailing list.  To
subscribe, either send an email with "subscribe" in the body to:

	fsh-announce-request@lists.lysator.liu.se

or visit the following web page:

	http://lists.lysator.liu.se/mailman/listinfo/fsh-announce


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 should preferably be reported using the Bugzilla installation at
http://bugzilla.lysator.liu.se/.  You can also query Bugzilla for
known bugs.

Bugs can also be reported to fsh-bugs@lists.lysator.liu.se, if for
some reason you cannot use Bugzilla.  If you don't want the bug report
to be public you can try ceder@lysator.liu.se instead.  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.


Mailing lists
=============

There are three mailing lists devoted to fsh:

fsh-info	For general discussion
fsh-announce	Moderated list of announcements
fsh-bugs	For bug reporting (but please use Bugzilla instead)

To more info about the lists, see http://www.lysator.liu.se/fsh/
