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