Túnel ssh inverso en la configuración

16

¿Cómo puedo establecer un túnel ssh inverso con mi archivo ./ssh/config?

Estoy intentando reproducir este comando

ssh -R 55555:localhost:22 user@host

en mi archivo .ssh / config para que cuando escriba escriba ssh hostssh al host como usuario y con un túnel inverso. Los comandos aceptados por el archivo de configuración son contrapartes más detalladas de los indicadores de la línea de comandos. Según la página de manual de ssh y la página de manual de ssh_config, parece que la configuración correspondiente es BindAddress.

En mi archivo .ssh / config tengo:

Host host
     Hostname host
     User user
     BindAddress 55555:localhost:22

Esto, y ligeras variaciones de, dan como resultado una conexión rechazada cuando intento

ssh localhost -p 55555

Una vez conectado en el host. Lo mismo funciona bien si doy explícitamente el comando en la parte superior cuando se envía por primera vez al host. Mi archivo de configuración funciona sin el comando de túnel inverso; ssh hostme registra en el host como usuario.

Praxeolítico
fuente

Respuestas:

29

BindAddressno es la opción que buscas. De man ssh_config:

BindAddress
         Use the specified address on the local machine as the source
         address of the connection.  Only useful on systems with more than
         one address.

El archivo de configuración equivalente de -Res RemoteForward:

RemoteForward
         Specifies that a TCP port on the remote machine be forwarded over
         the secure channel to the specified host and port from the local
         machine.  The first argument must be [bind_address:]port and the
         second argument must be host:hostport. [...]

Con esta información la línea de comando

ssh -R 55555:localhost:22 user@host

se traduce en la siguiente .ssh/configsintaxis:

Host host
HostName host
User user
RemoteForward 55555 localhost:22
Marco
fuente