Convenientemente SSH para hosts internos?

Convenientemente SSH para hosts internos?

Recentemente descobri que com o ~/.ssh/config, posso salvar muitas teclas digitadas e automatizar longas linhas de comando, especificando vários padrões por host. Agora que percebi o quão poderosa a ferramenta pode ser, estou me perguntando se ela pode se adequar a outro dos meus casos de uso.

Tenho acesso a dois hosts bastione wikispy. Bastion tem IP externo, wikispysó é visível pelo interno. Isso significa que normalmente, para me conectar wikispy, preciso bastionprimeiro fazer ssh e depois ligar ssh wikispy. Obviamente, coisas como encaminhamento de porta serão complicadas dessa forma e isso é algo que eu gostaria de evitar.

Isso leva a uma pergunta: posso de alguma forma fazer ~/.ssh/configuma entrada que diga "quando o usuário solicitar o host rotulado wikispy, conectar-se bastione ligar ssh wikispy"? Seria possível trabalhar de forma transparente para que eu pudesse chamar coisas como ssh wikispy -L 9999:localhost:9999e bastionencaminhar a porta de uma forma que me permitisse acessá-la de dentro wikispy?

Responder1

Parece que é aqui que uma combinação de ProxyCommande ncse mostra útil. Aqui está uma solução - adicione o seguinte a ~/.ssh/config:

Host bastion
HostName EXTERNAL_IP
User d

Host wikispy
HostName INTERNAL_IP
User d
ProxyCommand ssh bastion nc -q0 %h 22

De acordo comEste artigo, você pode obter mais de um único nível de aninhamento dessa maneira.

informação relacionada