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.
-d
More information about the openssh-unix-dev
mailing list