Eu estava brincando com a ideia de ter um Servidor Proxy SSH ou de outro modo chamado Host de Jump, que eu usaria para conectar-me a todos os meus servidores "ocultos" . Então basicamente eu tenho a seguinte configuração. Por favor, note que eu intencionalmente uso endereços IP aqui em vez de hostname.
<client> ---> <proxy_ssh> ---> <192.168.0.*>
Minha intenção é que seja o mais transparente possível para os usuários. Então, idealmente, os usuários devem apenas executar o seguinte comando
# ssh [email protected]
Para que isso funcione, criei o seguinte .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
Isso funciona bem. Mas é meio tedioso se eu tivesse mais redes para trabalhar com o meu proxy_ssh
server. Então, tentei adicionar a ProxyCommand
à seção Host *
que não funcionou.
Eu queria tornar isso mais transparente para o usuário final e alterei a configuração de ssh para o seguinte, deixando de fora a definição de host específica.
Host *
ServerAliveInterval 240
Compression yes
ForwardAgent yes
ForwardX11 yes
ProxyCommand ssh my_user@proxy_ssh.example.com netcat -w 120 %h %p
Isso causou o impacto de não conseguir mais me conectar ao host final. A conexão simplesmente expirou!
Portanto, a minha pergunta é se existe alguma maneira de ter isso mais transparente de tal forma que toda a minha conexão SSH usaria o proxy_ssh
host?