Ssh tunnel in config umkehren

15

Wie kann ich mit meiner ./ssh/config-Datei einen Reverse-SSH-Tunnel einrichten?

Ich versuche, diesen Befehl zu reproduzieren

ssh -R 55555:localhost:22 user@host

in meiner .ssh / config-Datei, so dass ich ssh hostbei der Eingabe von ssh als Benutzer und mit einem umgekehrten Tunnel zum Host komme. Die von der Konfigurationsdatei akzeptierten Befehle sind ausführlichere Gegenstücke zu den Befehlszeilenflags. Basierend auf der ssh-Manpage und der Manpage für ssh_config scheint die entsprechende Einstellung BindAddress zu sein.

In meiner .ssh / config-Datei habe ich:

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

Dies und geringfügige Abweichungen von führen dazu, dass eine Verbindung abgelehnt wird, wenn ich es versuche

ssh localhost -p 55555

einmal auf dem Host eingeloggt. Dasselbe funktioniert auch, wenn ich den Befehl beim ersten Senden an den Host ganz oben explizit gebe. Meine Konfigurationsdatei funktioniert ohne den Befehl reverse tunnel. ssh hostmeldet mich als Benutzer beim Host an.

Praxeolitische
quelle

Antworten:

28

BindAddressist nicht die Option, die Sie suchen. Von 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.

Die Konfigurationsdatei Äquivalent -RIS 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. [...]

Mit dieser Information die Kommandozeile

ssh -R 55555:localhost:22 user@host

übersetzt in die folgende .ssh/configSyntax:

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