vapnik spaknik <vapn...@yahoo.com> writes:

>> ssh -S ~/.ssh/%C -N -f remotehost &
>> rsync -au -e "ssh -S ~/.ssh/%C remotehost" remotehost:file1 backupdir/file1
>> rsync -au -e "ssh -S ~/.ssh/%C remotehost" remotehost:file2 backupdir/file2
>
> and finally, find the pid and kill the ssh session:
>
>> ps -e|grep ssh
>> kill <PID>

This does not answer your exact question, but such behavior can be
acheived very automatically by putting something like the following into
~/.ssh/config:

  ControlMaster auto
  ControlPath ~/.ssh/socket/%C
  ControlPersist 5

This automatically creates master processes.  And the respective master
processes automatically terminate after 5 seconds.  See 'man 5
ssh_config'.

See "ControlMaster" in 'man 5 ssh_config' for a possible limitation:
"X11 and ssh-agent(1) forwarding is supported over these multi‐ plexed
connections, however the display and agent forwarded will be the one
belonging to the master connection i.e. it is not pos‐ sible to forward
multiple displays or agents."

But even then: ssh seems to have a '-o <option>'.  From 'man 1 ssh':
"This is useful for specifying options for which there is no separate
command-line flag."  So you do not even have to put it into the config
and can use it only on specific commands.

Best wishes
Sebastian

Reply via email to