Si realizo un reenvío de puerto remoto, como -R 3690:localhost:3690
cuando ya existe un enlace en el puerto en el host remoto, recibo esta advertencia:
Warning: remote port forwarding failed for listen port 3690
¿Hay alguna manera de hacer que ssh falle (es decir, salir con un código de retorno distinto de cero), en lugar de simplemente emitir una advertencia?
ssh
port-forwarding
exit-code
Matt Joiner
fuente
fuente
Respuestas:
correr
o poner
en
~/.ssh/config
. Verman ssh_config
para más detalles.fuente
bind_address
entonces ssh podría no fallar. Por ejemplo, si otro usuario ya está escuchando en ipv6 localhost[::1]:3690
, ssh puede vincular solo ipv4127.0.0.1:3690
y no se queja. Pero su cliente svn probablemente preferiría el socket ipv6 (del atacante). Para estar seguro mejor uso-R [::1]:3690:localhost:3690 -R 127.0.0.1:3690:localhost:3690
Utilizo el script bash en el host de destino para asegurarme de que el reenvío se abrió correctamente. La conexión SSH ejecutará esto y se cerrará si hay un problema con el reenvío de puertos, p. Ej.
script del lado del cliente: (esto usa .ssh / config para la configuración de reenvío de puertos)
script del lado del servidor (bin / sshloop.sh)
Tal vez incluso ejecute el script del lado del cliente en la pantalla con -dmS
fuente