Hacer que una conexión ssh ControlPath actúe como esclavo o falla (no recurrir a ControlMaster)


0

Me gustaría forzar las conexiones ssh secundarias para usar una conexión ControlMaster existente y fallar si el maestro no está presente.

Con ssh -o ControlPath=somewhere -o ControlMaster=no ...esta nueva conexión buscará el maestro existente y, si no lo encuentra, recurrirá a la creación de su propia conexión independiente. ¿Podemos simplemente deshabilitar la reserva?

Lo más cercano que se me ocurre es

ssh -o ControlPath=somewhere -o ControlMaster=no -O check \
    && ssh -o ControlPath=somewhere -o ControlMaster=no

¿Me estoy perdiendo de algo?

¿Por qué?

Un caso común para mí es donde se sshrequiere cierta interacción con un OTP o una cosa de hardware. Normalmente trabajo con varias terminales, cada una con algo parecido while sleep 1; do ssh-and-reconnect-to-a-screen-session ; done.

En mi mundo perfecto, habría una única conexión maestra (con OTP / verificación de token) y luego cualquier otra terminal se conectaría y fallaría hasta que pudieran conectarse a través de la conexión maestra de control.

Tal como está (dependiendo del orden aleatorio ~ en el que las conexiones anteriores fallan y reintentan), abrir la tapa de mi computadora portátil me genera varias verificaciones OTP / token a la vez porque cada sshcomando quiere ser el / un nuevo maestro.

(Una vez más, en un mundo perfecto, moshse resolvería el problema de retomar donde lo dejé, pero aquí no es realmente una opción):


Lo consideré -L 2222:localhost:22en la conexión "maestra", luego configuré los esclavos para usar -p 2222, pero creo que eso me lleva más abajo en el agujero del conejo de control de flujo TCP sobre TCP.
DouglasDD

Respuestas:


1

Su caso de uso es realmente específico. No creo que te pierdas algo.

Solo hay unos pocos interruptores de línea de comandos más -Sy -Mque puede utilizar, si no desea poner eso en ~/.ssh/config:

ssh -S somewhere -O check host && ssh -S somewhere -M host

Correcto, -M / -S son buenos atajos. Gracias por la segunda mirada.
DouglasDD
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.