Tunnel SSH inversé dans la configuration

16

Comment puis-je établir un tunnel ssh inverse avec mon fichier ./ssh/config?

J'essaie de reproduire cette commande

ssh -R 55555:localhost:22 user@host

dans mon fichier .ssh / config de sorte que lorsque je tape ssh hostje vais ssh à l'hôte en tant qu'utilisateur et avec un tunnel inverse. Les commandes acceptées par le fichier de configuration sont des équivalents plus verbeux des indicateurs de ligne de commande. Sur la base de la page de manuel ssh et de la page de manuel de ssh_config, il semble que le paramètre correspondant soit BindAddress.

Dans mon fichier .ssh / config, j'ai:

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

Cela, et de légères variations de, entraînent une connexion refusée lorsque j'essaie

ssh localhost -p 55555

une fois connecté sur l'hôte. La même chose fonctionne bien si je donne explicitement la commande en haut lors de la première connexion à l'hôte. Mon fichier de configuration fonctionne sans la commande de tunnel inverse; ssh hostme connecte à l'hôte en tant qu'utilisateur.

Praxéolitique
la source

Réponses:

29

BindAddressn'est pas l'option que vous recherchez. 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.

L'équivalent du fichier de configuration -Rest 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. [...]

Avec ces informations, la ligne de commande

ssh -R 55555:localhost:22 user@host

se traduit par la .ssh/configsyntaxe suivante :

Host host
HostName host
User user
RemoteForward 55555 localhost:22
Marco
la source