Túnel para hosts internos usando apenas SSH e netcat

Para aqueles de vocês com hosts internos atrás de uma máquina SSH de bastião, você sabe como pode ser irritante ter que se conectar várias vezes antes de poder se conectar à máquina que realmente deseja usar. O SSH, junto com o netcat, fornece uma maneira embutida prática de rotear facilmente através de hosts intermediários sem ter que configurar uma VPN ou inserir comandos extras a cada vez.

Basta adicionar o seguinte à sua configuração SSH (normalmente em ~ / .ssh / config):

Host <hostname of machine, wildcards allowed>
ProxyCommand ssh <your user>@<bastion host> nc %h %p

O padrão de nome de host após o parâmetro Host especifica os hosts para os quais você deseja usar o túnel para alcançar. Por exemplo, o nome do host pode ser “* .example.com”, o que resultaria no uso do túnel para todos os hosts no domínio example.com (ou seja, internal.example.com).

Bônus extra: Isso também habilita proxies SOCKS dinâmicos -D ou qualquer outra opção de encaminhamento SSH através de hosts bastiões para máquinas internas sem ginástica extra. O bastião torna-se efetivamente transparente.