Я ищу директиву конфигурации клиента ssh, например LocalForward
это работает как -L
Параметр CLI но для -R
параметр
TL; DR полная информация о проблеме
Данные:
repoServer -> myComputer -> NAT -> stagingServer
У меня есть локальный сервер репозитория git, который не подключен к Интернету, и удаленный промежуточный сервер, на котором я должен развернуть свое репо.
Для этого я подключаюсь к удаленному stagingServer по ssh через обратный сокет.
Текущая конфигурация для мой компьютер:
Файл: ~/.ssh/config
Host StagingServer
Hostname staging.acme.com
User username
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_username
ForwardAgent yes
на котором я бегаю: ssh StagingServer -R 8022:repository.local:22
Текущая конфигурация для stagingServer:
Файл: ~/.ssh/config
Host repository
Hostname localhost
User git
Port 8022
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_deployer
на котором я могу бегать: git clone git@repository:myProject.git
И все работает нормально, но ... наконец
Вопрос:
Можно ли указать в файле конфигурации клиента ssh (~ / .ssh / config), чтобы открыть обратный туннель, чтобы мне не нужно было добавлять -R 8022:repository.local:22
Очевидно, что вы ищете RemoteForward, вы можете найти конкретное в ssh_config Doc ...
Документация: https://linux.die.net/man/5/ssh_config (Найдите RemoteForward). Это говорит само за себя.
RemoteForward
Указывает, что TCP-порт на удаленном компьютере будет перенаправлен по безопасному каналу на указанный хост и порт с локального компьютера. Первым аргументом должен быть порт [bind_address:], а вторым аргументом - host: hostport. Адреса IPv6 можно указать, заключив адреса в квадратные скобки или используя альтернативный синтаксис: порт [bind_address /] и хост / порт хоста. Могут быть указаны множественные переадресации, а дополнительные пересылки могут быть заданы в командной строке. Привилегированные порты могут быть перенаправлены только при входе в систему с правами root на удаленной машине.
Тогда конфигурация для мой компьютер становится:
Файл: ~/.ssh/config
Host StagingServer
Hostname staging.acme.com
User username
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_username
ForwardAgent yes
RemoteForward 8022 repository.local:22