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. * 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. -- GRATIS f?r alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
On Thu, Jul 22, 2010 at 12:58, Norbert Nemec <Norbert.Nemec.List at gmx.de> wrote:> * 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.I have proposed a patch for this a year ago: http://article.gmane.org/gmane.network.openssh.devel/16018 Bert
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