Comment garder les tunnels SSH en vie avec Autossh

Comment garder les tunnels SSH en vie avec Autossh

Autossh est un utilitaire qui vous permet de redémarrer automatiquement les tunnels SSH s'ils sont déconnectés ou interrompus. Cela peut être particulièrement utile si vous devez maintenir une connexion persistante à un serveur distant sur un tunnel SSH. Dans cet article, nous expliquerons comment installer et utiliser Autossh sur Linux.

Étape 1: Installer Autossh

Autossh est disponible dans les référentiels de package de la plupart des distributions Linux. Pour l'installer, ouvrez un terminal et exécutez la commande suivante:

sudo apt-get install autossh  

Si vous utilisez un autre gestionnaire de packages, vous pouvez rechercher et installer le package «Autossh» à l'aide de la commande appropriée.

Étape 2: Configurez un tunnel SSH

Avant de pouvoir utiliser Autossh, nous devons configurer un tunnel SSH qu'il peut gérer. Dans cet exemple, nous créerons un tunnel qui transmet le port local 8080 au port 80 sur un serveur distant.

Pour créer le tunnel, exécutez la commande suivante dans un terminal:

SSH -L 8080: LocalHost: 80 [Protégé par e-mail]  

Cette commande établira une connexion SSH au serveur distant et créera un tunnel qui transmet le trafic du port 8080 sur votre machine locale vers le port 80 sur le serveur distant.

Une fois le tunnel SSH établi, vous pouvez le tester en ouvrant un navigateur Web et en naviguant vers http: // localhost: 8080. Si tout est configuré correctement, vous devriez voir la page Web par défaut pour le serveur distant.

Étape 3: Utilisez Autossh pour gérer le tunnel SSH

Maintenant que nous avons un tunnel SSH configuré et fonctionne, nous pouvons utiliser Autossh pour redémarrer automatiquement le tunnel s'il est déconnecté ou interrompu.

Pour utiliser Autossh, nous devons modifier la commande ssh utilisée pour créer le tunnel. Voici un exemple:

Autossh -M 0 -O "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -n -f -l 8080: localhost: 80 [e-mail protégé]  

Cette commande est similaire à la commande ssh que nous avons utilisée pour créer le tunnel plus tôt, mais il inclut certaines options supplémentaires qui indiquent à Autossh pour gérer le tunnel.

  • Le -M 0 L'option indique à Autossh d'utiliser un port de surveillance intégré pour détecter si le tunnel SSH s'est déconnecté.
  • Le -o "ServeraliveInterval 30" et -o "ServeraliveCountMax 3" Les options indiquent à Autossh d'envoyer des paquets Keepalive toutes les 30 secondes et de tenter de reconnecter si trois paquets de maintien en main consécutifs échouent.
  • Le -N -f Options Dites à SSH de créer le tunnel en arrière-plan sans exécuter de commandes distantes.

Étape 4: Testez Autossh

Pour tester Autossh, déconnectez votre connexion Internet ou arrêtez manuellement le tunnel SSH en appuyant sur 'Ctrl + C'. Autossh devrait détecter que le tunnel a été déconnecté et le redémarrer automatiquement.

Vous pouvez vérifier que le tunnel a été redémarré en naviguant vers http: // localhost: 8080 Dans votre navigateur Web.

Conclusion

Dans cet article, nous avons expliqué comment installer et utiliser Autossh sur Linux. Autossh peut être un outil précieux pour maintenir les connexions SSH persistantes sur des connexions réseau instables ou peu fiables. En utilisant Autossh, vous pouvez vous assurer que vos tunnels SSH restent opérationnels même si la connexion est interrompue.