Scripter un tunnel SSH
Auteur : Philippe Le Van - @plv@framapiaf.org
Date : 11 février 2024
Introduction
Parfois, on aimerait bien ouvrir un tunnel SSH dans un script bash pour automatiser des tâches. Mais on se retrouve confronté pas mal de problèmes :
- comment reprendre la main après avoir ouvert la connexion SSH sur la machine hôte ?
- comment vérifier que la connexion SSH est bien ouverte ?
- comment refermer la connexion SSH proprement ?
Solution
L'idée est d'utiliser un "control socket" pour parler avec un process SSH déjà ouvert.
Quelques options SSH utilisées dans les commandes suivantes
-M: spécifie que l'on veut utiliser un "control socket" (master)-S: spécifie le nom du "control socket"-O: permet de contrôler le process SSH-f: demande à SSH de passer en arrière-plan-N: ne pas exécuter de commande distante-T: désactive l'allocation de pseudo-tty
1 2 3 4 5 6 7 8 9 10 | |
Référence
Solution trouvée sur Stack Overflow et un peu développée à partir de la man page de SSH.