Tunnel SSH inverso in configurazione


16

Come posso stabilire un tunnel ssh inverso con il mio file ./ssh/config?

Sto cercando di riprodurre questo comando

ssh -R 55555:localhost:22 user@host

nel mio file .ssh / config in modo che quando ssh hostscrivo invierò ssh all'host come utente e con un tunnel inverso. I comandi accettati dal file di configurazione sono controparti più dettagliate dei flag della riga di comando. Sulla base della manpage ssh e della manpage per ssh_config, sembra che l'impostazione corrispondente sia BindAddress.

Nel mio file .ssh / config ho:

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

Questo, e lievi variazioni, comportano il rifiuto di una connessione quando provo

ssh localhost -p 55555

una volta effettuato l'accesso sull'host. Lo stesso funziona bene se do esplicitamente il comando in alto la prima volta che invii un messaggio all'host. Il mio file di configurazione funziona senza il comando reverse tunnel; ssh hostmi accede all'host come utente.

Risposte:


29

BindAddressnon è l'opzione che stai cercando. Da 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.

L'equivalente del file di configurazione di -Rè 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 queste informazioni la riga di comando

ssh -R 55555:localhost:22 user@host

si traduce nella seguente .ssh/configsintassi:

Host host
HostName host
User user
RemoteForward 55555 localhost:22
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.