Feature request: fsh-like functionality

Damien Miller djm at mindrot.org
Thu Jul 22 22:42:19 EST 2010

On Thu, 22 Jul 2010, Norbert Nemec wrote:

> I have recently found the "fsh" program
> (http://www.lysator.liu.se/fsh/) which offered exactly what I needed.
> It is a great program but it is not maintained and was even thrown out
> of Debian because it was claimed that OpenSSH provided anything FSH
> offers. In fact, however, I miss a few features in OpenSSH that could
> easily be added inspired by FSH and make a very valuable addition in
> general:
> * Fast remote command execution
>     Current timings:
>        ssh otherhost echo hi  -> 1.06 sec  # regular connection
>        ssh -f -N -M                        # setting up master
>        ssh otherhost echo hi  -> 0.86 sec  # using master
>        fsh otherhost echo hi  -> 2.06 sec  # this sets up the master
>        fsh otherhost echo hi  -> 0.096 sec # this uses the master
>     Is there any fundamental reason for the 0.86 sec delay in a slave
> connection? After all - fsh demonstrates that the same thing can be
> done in less than 0.1 sec. This makes a significant difference for the
> applications that I have in mind.

I don't see this delay - opening a new mux slave is ~0.02 sec on my
host. Is your "otherhost" distant network-wise? Slave sessions incur
at least two round-trips between the client and the server, but if you
have port-forwards specified in your ssh_config then these will cause
additional delays. Closing channels is also more verbose in the SSH
protocol, though I don't think there is a round-trip there.

> * Automatic generation of *persistent* master connections
>     At the moment the "ControlMaster auto" setting creates a master
> when a regular ssh command is issued, but this master is closed when
> the command finishes. There should be an option that creates a master
> automatically when needed but leaves it alive for subsequent remote
> commands.
> * Timeout of persistent master connections
>     When master connections are created on-the-fly, they should also
> timeout after a certain period of idleness.

These are both implemented in -current via the ControlPersist option and
will be in openssh-5.6.


More information about the openssh-unix-dev mailing list