ssh túnel reverso com ip remoto

2

De um servidor 192.168.0. 1 , gostaria de acessar um servidor 192.168.0. 2 na porta 80.

192.168.0. 2 pode chegar a 192.168.0. 1 , mas 192.168.0. 1 não pode alcançar 192.168.0 . 2 (firewall).

Eu configurei um proxy reverso, digitando o seguinte comando em 192.168.0. 2 :

ssh -f -N -T -R0.0.0.0:80:localhost:80 192.168.0.1

agora 192.168.0. 1 pode chegar a 192.168.0. 2 , com o seguinte comando:

wget localhost:80

No entanto, gostaria de poder alcançar 192.168.0. 2 gravando

wget 192.168.0.2:80

Isso é possível sem mexer no DNS?

    
por rogerJ 01.03.2016 / 14:42

2 respostas

0

Você precisa definir o GatewayPorts em sshd_config , caso contrário, o * ou 0.0.0.0 será vinculado apenas à interface de loopback.

Observe também que

Privileged ports can be forwarded only when logging in as root on the remote machine.

Da página de manual de ssh :

By default, TCP listening sockets on the server will be bound to the loopback interface only. This may be overridden by specifying a bind_address. An empty bind_address, or the address ‘*’, indicates that the remote socket should listen on all interfaces. Specifying a remote bind_address will only succeed if the server's GatewayPorts option is enabled (see sshd_config(5)).

    
por 01.03.2016 / 16:07
0

Eu estava lutando com esse problema no Ubuntu 14.04 (tentei os dois GatewayPorts clientspecified e GatewayPorts yes in /etc/ssh/sshd_config ).

Em vez disso, adicionar isso ao meu sshd_config funcionou:

Match User !root
    GatewayPorts yes

Ou seja, precisei especificar um usuário para corresponder à regra.

    
por 08.03.2016 / 20:12