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

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

Я ищу директиву конфигурации клиента 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

Связанный контент