SSH Tunneling to box behind firewall

1

Eu tenho um computador atrás de um firewall, um desktop doméstico e um servidor. Eu posso reverter o túnel ssh para o servidor a partir de computer_behind_firewall e, em seguida,

ssh  localhost -p some_port 

enquanto estiver no servidor, mas não funciona se eu tentar

ssh my_server -p some_port 

de casa. Eu desabilitei o iptables para ter certeza de que não é um problema de firewall, e isso não ajudou.

O que eu preciso para fazer o meu Ménage à trois de servidores funcionar?

Idealmente, gostaria de encaminhar http em certas solicitações para a máquina por trás do firewall.

    
por Jon Haddad 24.12.2009 / 19:48

3 respostas

2

Da documentação do SSH em encaminhamento de porta :

It is important to realize that if you have three hosts, client, sshdserver, and appserver, and you forward the traffic coming to the client's port x to the appserver's port y, only the connection between the client and sshdserver will be secured. See Figure Forwarding to a third host. The command you use would be something like the following:

ssh2 -L x:appserver:y username@sshdserver

alt text http://www.ssh.com/support/documentation/online/ssh/adminguide/32/tunnel2-2.gif

    
por 24.12.2009 / 20:27
2

Se você já tiver um túnel ssh reverso com o servidor, provavelmente está procurando a opção "-g".

-g      Allows remote hosts to connect to local forwarded ports.

Caso contrário, somente o localhost poderá usar seu túnel.

    
por 25.12.2009 / 22:09
0

Eu não entendi muito bem a sua pergunta ou melhor, qual é o problema e o que você quer alcançar. Além disso, isso não é uma questão de codificação, mas vou tentar cavar isso.

Você deseja encapsular conexões TCP através de SSH para computer_behind_firewall através do servidor de fora do firewall? E esta conexão SSH ao servidor falha? Nesse caso, você deve executar tcpdump tcp PORT no servidor para ver se realmente nenhum pacote chega. Se eles chegarem, seu wrapper sshd ou TCP está configurado para não aceitar conexões externas (verifique / etc / ssh / sshd_config, /etc/hosts.deny e /etc/hosts.allow). Também procure nos arquivos de log em / var / log. Se nenhum pacote chegar, há um firewall na extremidade de envio ou no gateway para a LAN do servidor que está bloqueando ou não está encaminhando para a rede privada.

    
por 25.12.2009 / 21:56