я играл с идеей иметь прокси-сервер SSH или иначе называемый 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
это повлияло на то, что я больше не мог подключиться к endhost. Соединение просто истекло!
поэтому мой вопрос в том, есть ли способ сделать это более прозрачным таким образом, чтобы все мое SSH-соединение использовало proxy_ssh
хоста?