Ubuntu – Autossh startup on Ubuntu 10.04 – fails after powering off

ssh-tunnelUbuntu

I'm using upstart to keep a reverse ssh tunnel alive using auto ssh similar to Using Upstart to Manage AutoSSH Reverse Tunnel.

This works fine, except after a manual power down I can no longer connect to the machine through the "central server" using the tunnel. I receive "ssh_exchange_identification: Connection closed by remote host". The autossh process is running on the client. I can connect again after re-starting networking.

I'm trying to figure out why this is failing consistently after a manual shutdown. Is it possible that I need to do some cleanup on startup that would allow the tunnel to work in this situation, or are there some other debugging/troubleshooting steps I can take to determine the problem?

Machine A is the client machine, using autossh. This machine sits behind a firewall and uses the following command in upstart to create an ssh tunnel:

/usr/bin/autossh -fN -i /keyfile -o StrictHostKeyChecking=no -R 20098:localhost:22 user@centralserver

Machine B we'll call the "central server", which sits in the cloud and is the host. This machine is "centralserver" in the command above.

When Machine A is hard powered off, and back on, I cannot connect to it by SSH'ing from my machine (C) to Machine B in the cloud, then using the following command to get to Machine A:

ssh -p 2098 user@localhost

Again, after a reboot of the client (A), this works fine. It is only after a hard power down that the problem occurs. There are autossh processes that are running on the client machine (A) after powering down and back up, but they just don't seem to doing their job.

Best Answer

True, when clients with autossh running were not shutting down gracefully ssh instances still exist on the server. To resolve this try to kill these instances. I used killall -u and it works. After that, autossh reconnects to the server successfully and I can connect via ssh to the client. On the client where autossh runs, I have also set the parameter AUTOSSH_GATETIME=0.

Related Topic