Encaminhamento de porta local SSH -L com pontos do host local para páginas erradas

1

Desculpe se minha pergunta é estúpida, mas não consigo entender duas coisas. Vamos supor que estou fazendo o exemplo escrito aqui :

[...]you wanted to connect from your laptop to http://www.ubuntuforums org using an SSH tunnel. You would use source port number 8080 (the alternate http port), destination port 80 (the http port), and destination server www.ubuntuforums.org. :

ssh -L 8080:www.ubuntuforums.org:80 <host>

Where <host> should be replaced by the name of your laptop.

Q1: O que eu posso realmente conseguir com isso? No servidor remoto, não há sshd disponível, então o tráfego deixa o meu PC descriptografado, certo? Para que eu precisaria disso?

Q2: Estou tentando fazer o ssh -L 4444: linuxpl.com: 80 localhost. Quando eu insiro o link no meu navegador, posso ver o site interno do LiteSpeed Web Server. Quando eu tento outras páginas, posso ver sites internos do Apache. Quando tento outra, vejo a página 404 do site, que não encontrou a mensagem. Alguns deles funcionam como esperado, no entanto. Por que isso acontece? Como consertar isso?

    
por user532872 12.12.2015 / 12:56

2 respostas

1

Q1: Você não gostaria de fazer isso. A página é boba na sua formulação. Como você disse, o tráfego iria do seu computador para o seu computador criptografado, e então totalmente não criptografado para o site do fórum. Eles poderiam ter explicado isso usando outro computador para encaminhar o tráfego, por exemplo, para ignorar um firewall.

O que o tutorial significa é "você quer conectar-se ao fórum através de seu laptop de outra máquina" e então faz mais sentido.

Q2: Se você abrir o link em sua máquina, ele fará um requrest HTTP para o fórum, mas informará ao fórum que você deseja hospedar localhost , não linuxpl.com . O servidor provavelmente retornará uma página padrão e não o host virtual real desejado, pois está usando hosts virtuais e localhost não mapeia para o mesmo site que linuxpl.com .

Portanto, no geral, o encaminhamento do tráfego HTTP por meio de túneis ssh não funcionará tão facilmente muitas vezes. Encaminhar para um proxy em algum lugar funcionaria muito melhor.

Para que seu navegador envie cabeçalhos adequados, você pode ter sucesso configurando seu arquivo de hosts para reivindicar que o endereço de destino é sua máquina. Dessa forma, quando o navegador estiver resolvendo o endereço, ele se conectará à sua máquina local e ainda informará ao servidor HTTP o nome de host adequado.

Você pode tentar isso adicionando a linha

127.0.0.1        linuxpl.com

para / etc / hosts

    
por 12.12.2015 / 13:52
0

Q1: Eu estava usando isso em um ambiente onde você não tem contato com a internet. Imagine que você está usando seu laptop em uma rede que não permite conexões com o mundo externo, mas há uma única máquina que pode conectar-se tanto ao mundo externo quanto à rede onde seu laptop está. Assim, para poder navegar você precisará shh para esta máquina, para que seu tráfego de internet entre na rede externa através da máquina autorizada.

A conexão é algo assim: Quando você digita o link , o ssh selecionará o pedido e o enviará ao host, que o enviará para linuxpl.com:80. A conexão entre o seu laptop e o host é criptografada pelo ssh, a conexão entre o host e a Internet não é criptografada, ou seja, o ssh só encaminha e criptografa as mensagens entre as duas máquinas.

Q2: realmente não entendo qual é o problema, mas ssh -L 4444: linuxpl.com: 80 localhost realmente não faz sentido ... como você está tunelando entre sua máquina e sua máquina ...

    
por 12.12.2015 / 13:11