Sounds like you need autossh. This will monitor an ssh tunnel and restart it as needed.
http://www.debianadmin.com/autossh-automatically-restart-ssh-sessions-and-tunnels.html
Autossh example
autossh -M 5122 -N -R 5022:localhost:22 rex
Explanation:
Forward port 5022 on rex (the remote machine) to port 22 on localhost (the local machine).
Use port 5122 and 5123 will be used for connection monitoring.
还有个问题是自动重连的时候要输password,这样写.sh script就有点问题
解决方法就是ssh-keygen生成 rsa key 免密登陆。这里不赘述了。