J'ai une connexion ssh déjà établie entre deux machines.
Existe-t-il un moyen d'envoyer des commandes à la machine distante à partir d'un script shell exécuté sur la machine locale, en utilisant la connexion déjà ouverte et sans démarrer une autre session ssh ?
Réponse acceptée :
C'est très simple avec des versions suffisamment récentes d'OpenSSH si vous planifiez à l'avance.
Ouvrez une connexion principale la première fois. Pour les connexions ultérieures, acheminez les connexions esclaves via la connexion principale existante. Dans votre ~/.ssh/config
, configurez le partage de connexion pour qu'il s'exécute automatiquement :
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
Si vous démarrez une session ssh avec le même (utilisateur, port, machine) qu'une connexion existante, la deuxième session sera tunnelisée sur la première. L'établissement de la deuxième connexion ne nécessite aucune nouvelle authentification et est très rapide.