Relaiable ssh tunnel via systemd
Thomas Güttler
guettliml at thomas-guettler.de
Tue Mar 14 20:02:33 AEDT 2017
We try to run a reliable ssh tunnel vis systemd.
This is the unit configuration file:
{{{
[Unit]
Description=Tunnel For %i
After=network.target
[Service]
User=autossh
ExecStart=/usr/bin/ssh -o "ExitOnForwardFailure yes" -o "ServerAliveInterval 60" -N -R 40443:installserver:40443 -R
8080:installserver:8080
ExecStartPre=-/usr/bin/ssh tunnel@%i "for pid in $$(ps -u tunnel | grep sshd| cut -d' ' -f1); do kill -9 $$pid; echo
kill old ssh process p
Restart=always
RestartSec=5s
StartLimitInterval=0
[Install]
WantedBy=multi-user.target
}}}
Unfortunately on some hosts we see this warning again and again:
Mar 13 23:11:14 remotehost sshd[10938]: error: bind: Address already in use
Mar 13 23:11:14 remotehost sshd[10938]: error: channel_setup_fwd_listener: cannot listen to port: 40443
Mar 13 23:11:14 remotehost sshd[10938]: error: bind: Address already in use
Mar 13 23:11:14 remotehost sshd[10938]: error: channel_setup_fwd_listener: cannot listen to port: 8080
Since we kill the old tunnel before starting a new, I don't understand why this error message occurs.
Any hints?
--
Thomas Guettler http://www.thomas-guettler.de/
More information about the openssh-unix-dev
mailing list