Como encapsular uma porta local em um servidor remoto

4

Eu tenho um domínio que comprei no DynDNS. Eu apontei o domínio no meu endereço IP para que eu possa executar servidores. O problema que tenho é que eu não moro perto do computador servidor ... Posso usar um túnel ssh? Pelo que entendi, isso me permitirá ter acesso aos meus servidores. Eu quero que o computador remoto direcione o tráfego da porta 8080 através do túnel ssh para o cliente ssh, sendo a porta 80 do meu laptop. Isso é possível?

    
por Trevor Rudolph 10.12.2012 / 02:16

2 respostas

7

Isso é realmente fácil de realizar, mesmo que esteja um pouco enterrado na documentação do ssh. Assumindo o OpenSSH, a sintaxe básica é a seguinte:

ssh -R 8080:localhost:80 -N [email protected]

Isso abrirá um soquete de escuta na porta 8080 do seu-servidor.dyndns.org e todas as conexões feitas em your-server.dyndns.org:8080 serão encaminhadas pelo túnel SSH para o computador que abriu essa conexão SSH e será direcionado para localhost:80 .

A opção -N instrui o SSH a não abrir um shell ou qualquer outro, apenas para estabelecer o encaminhamento de porta, para que você possa enviá-lo para o segundo plano e deixá-lo em execução.

Putty usa praticamente a mesma sintaxe, mas envolvida em algum tipo de GUI. O princípio é o mesmo embora.

Mas tenha cuidado com o que você faz. Como você está essencialmente canalizando o tráfego externo para a sua rede, você está empurrando um buraco no firewall da sua rede. Se não for sua rede, seu administrador poderá se opor a isso e responsabilizá-lo. Geralmente, há uma razão pela qual você não tem permissão para certos tipos de tráfego.

    
por 10.12.2012 / 02:49
2

Para poder encaminhar sua porta local 80 não apenas para a interface de loopback (127.0.0.1), você precisa primeiro configurar GatewayPorts clientspecified in /etc/ssh/sshd_config na máquina remota.

Em seguida, encaminhe sua porta com:

ssh -R 0.0.0.0:8080:localhost:80 -N [email protected]
    
por 02.08.2016 / 00:12