Como faço o túnel e navego na página da Web do servidor no meu laptop?

55

Eu executo um aplicativo Web em um dos meus servidores de laboratório e já configurei o X11 Forwarding nessas máquinas. Outros membros do laboratório podem fazer o túnel através do SSH e navegar no aplicativo da Web em seu navegador local em casa.

Não posso. A última vez que verifiquei com eles, quase não preciso fazer nada.

Quando digito, 192.168.1.113/webappnão recebo nada.

Alguma dica?

Obrigado.


Acabei usando o segundo método :)

ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N
CppLearner
fonte
@BlueXrider geral, sim, no tópico, sim. Para algo assim, as versões do Ubuntu realmente não importam, são tão on-topic quanto O que é um torrent e como eu o uso, que é considerado on-topic. :)
jrg

Respostas:

105

Existem duas maneiras de fazer isso com o SSH.

Escaneie tudo com um proxy SOCKS

Efetue login na máquina remota usando o seguinte comando:

ssh -D 8080 remote-host

Agora vá para as configurações de proxy do navegador e configure-o para usar um proxy SOCKS com nome 127.0.0.1e porta do host 8080(ou qualquer porta que você tenha passado para a -Dopção). Agora todas as páginas que você carrega no seu navegador da web serão tunelizadas através da conexão SSH. Agora você deve conseguir acessar a página da web privada da mesma maneira que faria no host remoto.

Quando terminar, defina as configurações de proxy do seu navegador de volta ao normal.

Um lado negativo desse método é que todo o outro tráfego no navegador da web também passará pela conexão SSH. No lado positivo, você pode acessar os servidores remotos com seus nomes reais de host e acessar facilmente vários sites privados.

Túnel uma única porta.

O método alternativo é usar o SSH para encaminhar uma única porta:

ssh -L 8080:server-hostname:80 remote-host

Agora, se você apontar o navegador da Web http://localhost:8080/, deverá ver o conteúdo http://server-hostname/como apareceria no host remoto.

O benefício desse método é que ele deixa o restante do tráfego do navegador sozinho. A desvantagem é que alguns links podem não funcionar se o site remoto usar referências absolutas de URL. Se o site geralmente usa referências de URL relativas, esse método deve ser suficiente.

Para ambas as soluções, não há nada de especial na porta 8080. Você pode usar qualquer número de porta local gratuito que desejar, desde que se lembre de usar o mesmo na sshchamada e no navegador da web.

James Henstridge
fonte
3
Obrigado. Foi muito útil! Eu consegui fazê-lo desta maneira: ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -Nalgo assim (o segundo método).
CppLearner
É correto que eu devo configurar apenas um proxy de meias no primeiro método (consulte: spareclockcycles.files.wordpress.com/2009/04/… ). Ou seja, não funcionaria, se eu apontar o proxy http para 127.0.0.1:8080? Se isso estiver correto, talvez você deva apontar na sua grande resposta que é preciso configurar apenas o proxy de meias.
student
Se você usa o Chrome (segundo navegador?), Pode passar o parâmetro proxy do SOCKS5 diretamente no início: chromium-browser --proxy-server = "socks5: // localhost: 8080"
panticz.de 18/11/15