Как мне создать обратный SSH-туннель с помощью файла ./ssh/config?
Я пытаюсь воспроизвести эту команду.
ssh -R 55555:localhost:22 user@host
в моем файле .ssh/config, чтобы при вводе ssh host
я подключался к хосту по ssh как пользователь и с обратным туннелем. Команды, принимаемые файлом конфигурации, являются более подробными аналогами флагов командной строки. Судя по странице руководства ssh и странице руководства для ssh_config, похоже, что соответствующая настройка — BindAddress.
В моем файле .ssh/config есть:
Host host
Hostname host
User user
BindAddress 55555:localhost:22
Это и небольшие вариации приводят к отказу в соединении, когда я пытаюсь
ssh localhost -p 55555
после входа на хост. То же самое работает нормально, если я явно даю команду вверху при первом sshing на хост. Мой файл конфигурации работает без команды обратного туннеля; ssh host
регистрирует меня на хосте как пользователя.
решение1
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.
Эквивалент файла конфигурации -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. [...]
С этой информацией командная строка
ssh -R 55555:localhost:22 user@host
переводится в следующий .ssh/config
синтаксис:
Host host
HostName host
User user
RemoteForward 55555 localhost:22