Я играл с идеей иметь SSH Proxy Server или иначе называемый Jump Host, который я использовал бы для подключения ко всем моим "скрытым" серверам. Так что в основном у меня есть следующие настройки. Обратите внимание, что я намеренно использую здесь IP-адреса вместо имени хоста.
<client> ---> <proxy_ssh> ---> <192.168.0.*>
Я намерен сделать его максимально прозрачным для пользователей. Таким образом, в идеале пользователи должны выполнять только следующую команду
# ssh user@192.168.0.10
Чтобы это работало, я создал следующий .ssh/config
.
Host *
ServerAliveInterval 240
Compression yes
ForwardAgent yes
ForwardX11 yes
Host 192.168.0.*
ProxyCommand ssh my_user@proxy_ssh.example.com netcat -w 120 %h %p
Это отлично работает. Но это утомительно, если у меня будет больше сетей для работы за моим сервером proxy_ssh
. Поэтому я попытался просто добавить ProxyCommand
в раздел Host *
который не работал.
Я хотел сделать это более прозрачным для конечного пользователя и изменил конфигурацию ssh на следующую, просто опуская конкретное определение хоста.
Host *
ServerAliveInterval 240
Compression yes
ForwardAgent yes
ForwardX11 yes
ProxyCommand ssh my_user@proxy_ssh.example.com netcat -w 120 %h %p
Это повлияло на то, что я больше не мог подключаться к конечному узлу. Время соединения истекло!
Поэтому, следовательно, у меня вопрос, есть ли способ сделать это более прозрачным, чтобы все мое SSH-соединение использовало хост proxy_ssh
?