Convenientemente, o SSH para hosts internos?

1

Descobri recentemente que, com ~/.ssh/config , posso salvar muitos pressionamentos de teclas e automatizar longas linhas de comando, especificando muitos padrões por host. Agora que percebi o quão poderosa a ferramenta pode ser, estou imaginando se ela pode se encaixar em outros casos de uso.

Eu tenho acesso a dois hosts, bastion e wikispy . O bastião tem um IP externo, wikispy só é visível do interno. Isso significa que, normalmente, para me conectar a wikispy , preciso ssh para bastion primeiro e depois chamar ssh wikispy . Obviamente, coisas como o encaminhamento de porta serão complicadas dessa maneira e isso é algo que eu gostaria de evitar.

Isso leva a uma pergunta: de alguma forma, posso fazer ~/.ssh/config entry que diria "quando o usuário solicitar o host rotulado wikispy , realmente se conectar a bastion e, em seguida, chamar ssh wikispy "? Seria possível trabalhar de forma transparente para que eu pudesse chamar coisas como ssh wikispy -L 9999:localhost:9999 e ter bastion encaminhando a porta de uma maneira que me permitisse acessá-la de dentro de wikispy ?

    
por d33tah 30.04.2015 / 15:07

1 resposta

1

Parece que é aqui que uma combinação de ProxyCommand e nc é ú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 com o artigo , você pode obter mais do que um único nível de aninhamento dessa maneira

    
por 30.04.2015 / 15:13