Estou tentando conectar-me diretamente a um computador do meu trabalho ( trabalho ), que está disponível somente por meio de um servidor externo ( fora ).
Portanto, o caminho da rede é: home »outside» work
Idealmente, isso deve funcionar:
home$ ssh -f -N -L2222:work.example.com:22 outside.example.com
home$ ssh localhost -p 2222 ## This just hangs
Não, no entanto. Eu também posso substituir work.example.com por um servidor totalmente diferente, com o mesmo resultado. As etapas estão corretas, porque posso usar a mesma lógica para se conectar ao servidor da web do host work :
home$ ssh -f -N -L10080:work.example.com:80 outside.example.com
home$ lynx http://localhost:10080/ ## work's pretty web page is displayed
Além disso, posso usar o SSH para trabalhar se eu fizer login fora primeiro:
home$ ssh outside.example.com
outside$ ssh work.example.com
work$ ## Yay, success!
Por fim, isso também funciona em um cenário com diferentes servidores envolvidos:
home$ ssh -f -N -L2222:different.example.com:22 another.example.com
home$ ssh localhost -p 2222
different$ ## Success!
Então, eu acho que há alguma configuração de SSH em fora que me impede de usar a abordagem direta, já que isso funciona com servidores diferentes.
Home executa o OpenBSD 4.6 com o OpenSSH_5.3. Fora executa o MacOSX 10.7.2 com o OpenSSH_5.6p1. O Work executa o CentOS 6.0 com o OpenSSH_5.3p1.
EDITAR : A solução olhou diretamente para mim quando cheguei ao trabalho hoje. Little Snitch (um firewall) tinha bloqueado minhas conexões, e tinha aberto alegremente alguns "Você quero permitir essa conexão "diálogos. Obrigado pela ajuda; Estou concedendo ao @golimar a resposta correta para este, já que era uma solução bastante plausível.