Encaminhamento de porta local SSH -L com localhost aponta para páginas erradas

Encaminhamento de porta local SSH -L com localhost aponta para páginas erradas

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

[...] você queria se conectar do seu laptop aohttp://www.ubuntuforumsorg usando um túnel SSH. Você usaria o número da porta de origem 8080 (a porta http alternativa), a porta de destino 80 (a porta http) e o servidor de destino www.ubuntuforums.org. :

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

Onde <host>deve ser substituído pelo nome do seu laptop.

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

Q2: Estou tentando fazer ssh -L 4444:linuxpl.com:80 localhost. Quando eu entrohttp://localhost:4444no meu navegador, posso ver o site interno do LiteSpeed ​​​​Web Server. Quando tento outras páginas, consigo ver sites internos do Apache. Quando tento outro, vejo a mensagem de página 404 não encontrada deste site. Alguns deles funcionam conforme o esperado, no entanto. Por que isso acontece? Como corrigi-lo?

Responder1

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

O que o tutorial significa é "você deseja se conectar ao fórumatravésseu laptop de outra máquina" e então faz mais sentido.

Q2: Se você abrirhttp://localhost:4444/na sua máquina, ele fará uma solicitação HTTP ao fórum, mas dirá ao fórum que você deseja host localhost, não linuxpl.com. O servidor provavelmente retornará uma página padrão e não o host virtual real que você deseja, pois está usando hosts virtuais e localhostnão mapeia para o mesmo site que o linuxpl.com.

Resumindo, o encaminhamento do tráfego HTTP através de túneis ssh não funcionará tão facilmente muitas vezes. Encaminhar para um proxy em algum lugar funcionaria muito melhor.

Para fazer com que seu navegador envie cabeçalhos adequados, você pode configurar seu arquivo 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

Responder2

Q1: Eu estava usando isso em um ambiente onde você não tem contato com a internet. Imagine que você está executando seu laptop em uma rede que não permite conexões com o mundo externo, mas há uma única máquina que pode se conectar ao mundo externo e à rede onde seu laptop está. você precisará fazer 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 é mais ou menos assim: Quando você digitahttp://localhost:4444o ssh irá pegar a solicitação e enviá-la ao host, que então a enviará para linuxpl.com:80. A conexão entre o seu laptop e o host é criptografada por ssh, a conexão entre o host e a internet não é criptografada, ou seja, o ssh apenas encaminha e criptografa mensagens entre suas duas máquinas.

Q2: Não entendo realmente qual é o problema, mas ssh -L 4444:linuxpl.com:80 localhost realmente não faz sentido... já que você está criando um túnel entre sua máquina e sua máquina...

informação relacionada