Итак, у меня есть 3 сервера:
- server_a: мой целевой сервер
- server_b: сервер перехода
- server_c: другой сервер
Ни server_a, ни server_b обычно не имеют доступа к server_c вообще. Однако я могу использовать магию удаленной переадресации, чтобы предоставить server_c определенный порт на server_a. Следующая команда выполняет это:
ssh -t -A -R 6880:server_c:22 server_b ssh -t -A -R 6880:localhost:6880 server_a
Я хочу преобразовать эту громоздкую команду в эквивалентные настройки ssh_config. Я могу получить базовое соединение ssh/scp, работающее с помощью прокси-команды:
host server_b
Hostname 192.X.X.X
User john
IdentityFile /path/to/identity_file
ForwardAgent yes
Host server_a
Hostname 172.X.X.X
User john
ProxyCommand ssh -W %h:%p server_b
Но вышеупомянутые конфиги не делают никакой удаленной пересылки, и server_a вообще не имеет доступа к server_c. Я попытался добавить строки RemoteForward для достижения этой цели:
host server_b
Hostname 192.X.X.X
User john
IdentityFile /path/to/identity_file
ForwardAgent yes
RemoteForward 6880 server_c:22
Host server_a
Hostname 172.X.X.X
User john
ProxyCommand ssh -W %h:%p server_b
RemoteForward 6880 localhost:6880
Если я ssh напрямую в server_b, кажется, что удаленная пересылка на server_c - это нормально, но когда я ssh прямо в server_a со своего ноутбука, доступ к server_c через удаленную пересылку, похоже, не работает.
Мы ценим любые предложения