Обратный туннель SSH в конфигурации

16

Как я могу установить обратный туннель SSH с моим файлом ./ssh/config?

Я пытаюсь воспроизвести эту команду

ssh -R 55555:localhost:22 user@host

в моем файле .ssh / config, так что, когда я ssh hostбуду печатать, я ssh к хосту как пользователь и с обратным туннелем. Команды, принятые в файле конфигурации, являются более подробными аналогами флагов командной строки. Основываясь на man-странице ssh и man-странице для ssh_config, кажется, что соответствующая настройка - BindAddress.

В моем файле .ssh / config у меня есть:

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

Это и небольшие изменения приводят к отказу в соединении при попытке

ssh localhost -p 55555

после входа в систему на хосте. То же самое работает хорошо, если я явно даю команду сверху, когда первый sshing к хосту. Мой конфигурационный файл работает без обратной команды туннеля; ssh hostрегистрирует меня на хосте как пользователь.

Praxeolitic
источник

Ответы:

29

BindAddressэто не тот вариант, который вам нужен. От 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.

Файл конфигурации эквивалент -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. [...]

С этой информацией командная строка

ssh -R 55555:localhost:22 user@host

переводит в следующий .ssh/configсинтаксис:

Host host
HostName host
User user
RemoteForward 55555 localhost:22
Marco
источник