
Agora, se não me engano, um túnel SSH da porta 80 para um servidor web na porta 80 deve permitir que minha porta 80 faça um túnel através desse servidor, correto? No entanto, quando configuro um túnel e acesso um site, meu log ainda parece vir do meu computador doméstico em vez do IP do servidor. Alguma idéia do porquê?
Eu uso o seguinte comando, mas tudo o que parece fazer é apenas SSH no host no terminal:
ssh root@webserver -L 80:127.0.0.1:80
Responder1
Apenas tentei isso e confirmei que estava funcionando:
ssh -ND 8080 [email protected]
O root é necessário para vincular a porta local 80 em sua máquina, pois é uma porta reservada (e 8080 é a alternativa comum). Para encaminhar apenas o tráfego do seu navegador, você pode configurar o Firefox/Chrome/Whatever para usar um proxy Socks "localhost" em "8080".
Experimente sem root, funciona para mim em um servidor web ao qual não tenho acesso root.
Responder2
Depois que o túnel estiver configurado (com -L
), você precisará alterar o URL usado, por exemplo, http://127.0.0.1/
ou se o nome do site precisar corresponder devido à configuração da hospedagem virtual, você precisará adicioná-lo ao arquivo de hosts da área de trabalho:
127.0.0.1 www.domain.com
Você pode definir um alias no servidor vhost para poder usar um nome para 127.0.0.1, como "test.domain.com", e o nome real para ir diretamente, se isso for útil - esquecendo de remover entradas do arquivo hosts é uma boa maneira de causar confusão. Depende de como o site funciona.
Para encaminhar a porta 80 você só precisa ser root no desktop, ''não'' no servidor web.Eu sugiro fortemente não permitir o login ssh para root.
Usando uma porta não privilegiadapoderiafuncionar, novamente dependendo do seu site:
ssh user@webserver -L 1080:127.0.0.1:80
e use o URL http://127.0.0.1:1080/
.
Usando um proxy SOCKS ( -D
) conforme sugeridopoderiacausar algumas surpresas, dependendo da configuração SOCKS/DNS/firewall/NAT.
(No Linux, como alternativa a ser root para portas reservadas, você pode usar recursos POSIX, consultehttps://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-1024-on-l, no entanto, isso não funcionará em versões padrão do OpenSSH, pois possui uma verificação extra codificada nos números de porta, a menos que seja compilado com NO_IPPORT_RESERVED_CONCEPT
definido. As respostas à pergunta vinculada têm várias outras soluções para isso.)