Tengo una conexión ssh ya establecida entre dos máquinas.
¿Hay alguna forma de enviar comandos a la máquina remota desde un script de shell que se ejecuta en la máquina local, utilizando la conexión ya abierta y sin iniciar otra sesión ssh?
Respuesta aceptada:
Es muy simple con versiones lo suficientemente recientes de OpenSSH si lo planifica con anticipación.
Abra una conexión maestra la primera vez. Para conexiones posteriores, enrute las conexiones esclavas a través de la conexión maestra existente. En tu ~/.ssh/config
, configura la conexión compartida para que se realice automáticamente:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
Si inicia una sesión ssh con el mismo (usuario, puerto, máquina) que una conexión existente, la segunda sesión se tunelizará sobre la primera. Establecer la segunda conexión no requiere una nueva autenticación y es muy rápido.