Autossh : reconnecter automatiquement un tunnel SSH
Software version | 1.4 |
---|---|
Operating System | Debian 7 |
Website | AutoSSH Website |
Last Update | 20/03/2013 |
Others |
1 Introduction
Si comme moi vous avez un tunnel à maintenir en permanence, qu'en cas de déconnexion vous souhaitez une reconnexion automatique, il vous faut utiliser alors un outil tel que AutoSSH. Je vous passerais les détails de son fonctionnement complet, mais vous devez savoir qu'il peut fonctionner de 2 façons :
- En établissant une boucle avec le serveur distant et vérifiant régulièrement que des données y transitent
- En interrogeant à intervalles réguliers un service sur la machine distante
2 Installation
Pour l'installer, c'est simple :
aptitude |
aptitude install autossh |
3 Configuration
Personnellement je n'utilise pas la méthode qui écoute régulièrement un port, l'autre me suffit amplement. J'aborderais donc la méthode de base. Imaginons que j'ai l'habitude d'utiliser une connexion SSH en créant un socks et un local forward :
ssh |
ssh -D12345 -N -f -L2222:10.0.0.1:22 deimos@server.deimos.fr |
Pour l'utiliser avec autossh, c'est simple, il suffit d'utiliser toutes les options d'SSH et les coller après la commande autossh :
autossh |
autossh -M 0 -D12345 -N -f -L2222:10.0.0.1:22 deimos@server.deimos.fr |
L'option -M 0 permet de ne pas utiliser l'option de monitoring (la solution n°1). Et voilà, autossh gère pour vous cette connexion.
3.1 Au boot
Si vous souhaitez l'activer au boot, voici un exemple a ajouter dans le rc.local :
/etc.rc.local |
autossh -M 0 -q -f -N -oServerAliveInterval=60 -oServerAliveCountMax=3 -L2222:10.0.0.1:22 deimos@server.deimos.fr |
Les options SSH ServerAliveInterval et ServerAliveCountMax permettent de couper la connexion s'il y a un problème pour forcer autossh à la relancer.