it-swarm-es.tech

Abra la conexión SSH en segundo plano

He analizado muchas preguntas similares sobre esto, pero no he encontrado nada para resolver mi problema.

Me gustaría poder abrir una conexión ssh al servidor de mi universidad y mantener la conexión abierta en segundo plano. Lo que estoy haciendo es ingresar en el servidor uni y ejecutar un script, luego scp un archivo desde allí a mi control remoto, como:

$ssh [email protected] "./bin/script"
[email protected]'s password:
$scp [email protected]:~/some_file.txt .
[email protected]'s password:

Realizo esta secuencia de comandos una tonelada, y eventualmente mi conexión se rechaza porque la universidad lo confunde con software malicioso. Entonces, lo que me gustaría poder hacer es abrir la conexión ssh una vez, luego mantenerla abierta para que pueda ejecutar continuamente el script en el servidor remoto. No quiero abrir la conexión ssh en otro terminal, ya que es muy molesto tener dos terminales abiertos y constantemente alt + tabing al incorrecto. Seguramente debe haber una manera de hacer esto, realmente agradecería algo de ayuda.

1
mtveezy

ssh puede reutilizar las conexiones existentes.

Aquí hay una cita de una respuesta de chepner a esto pregunta similar sobre Stack Overflow :

Si abre la primera conexión con -M:

ssh -M $REMOTEHOST

las conexiones posteriores a $REMOTEHOST se "superpondrán" en la conexión establecida por el maestro ssh. Lo más notable es que no se requiere autenticación adicional. Consulte man ssh_config en "ControlMaster" para obtener más detalles. Use -S para especificar la ruta al socket compartido; No estoy seguro de cuál es el valor predeterminado, porque configuro el uso compartido de conexiones utilizando el archivo de configuración.

En mi archivo .ssh/config, tengo las siguientes líneas:

Host *
  ControlMaster auto
  ControlPath ~/.ssh/ssh_mux_%h_%p_%r

De esta manera, no tengo que recordar usar -M o -S; ssh determina si ya existe una conexión para compartir para la combinación Host/puerto/nombre de usuario y la usa si es posible.

2
cmks