Como faço um túnel SSH através de 2 hosts?

Como faço um túnel SSH através de 2 hosts?

Estou trabalhando em uma rede que bloqueia algumas portas altas, o que me impede de fazer SSH em minha máquina Windows na minha rede doméstica a partir do meu Mac. Normalmente uso o seguinte comando para estabelecer um túnel ao qual me conecto com o cliente de Área de Trabalho Remota no OS X.

ssh -p 22601 -L3389:Windows:3389 user@Ubuntu1 -N

Neste caso tenho 2 máquinas:

  • Servidor A: Ubuntu1 (porta 22601)
  • Servidor B: Windows (porta 3389)

Para contornar o bloqueio da porta 22601 em minha rede atual, eu poderia fazer um túnel através de outra máquina. Vamos chamá-lo de Ubuntu2 e ele tem um servidor SSH rodando na porta 22. Tentei algumas combinações, mas não consigo fazer essa conexão funcionar. Tenho o mesmo acesso de chave pública SSH para Ubuntu 1 e 2. Em todos os casos, estou usando o mesmo nome de usuário.

Qual linha de comando devo executar para fazer isso e preciso fazer mais alguma coisa na configuração do SSHd no Ubuntu2?

Responder1

Dê uma olhada no seguinte:

http://blog.allanglesit.com/2011/11/ssh-hop-through-multiple-hosts/

Encadeá-los com os números de porta relevantes deve resolver o problema.

Alternativamente, você pode usar ProxyCommand para torná-lo mais transparente:

http://backdrift.org/transparent-proxy-with-ssh

informação relacionada