Autossh : reconnecter automatiquement un tunnel SSH

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search
AutoSSH

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 :

  1. En établissant une boucle avec le serveur distant et vérifiant régulièrement que des données y transitent
  2. En interrogeant à intervalles réguliers un service sur la machine distante

2 Installation

Pour l'installer, c'est simple :

Command 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 :

Command 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 :

Command 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 :

Configuration File /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.

4 Références

http://www.harding.motd.ca/autossh/README