O túnel SSH não funciona

O túnel SSH não funciona

Eu uso o seguinte comando para fazer um túnel ssh para meu servidor Ubuntu:

ssh -fNg -L 8888:127.0.0.1:22 -p 1000 username@server-address  -v

Então eu configurei o proxy OSX http e https para 127.0.0.1:8888

E recebi o seguinte erro:

SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2

Incompatibilidade de protocolo.

Qual é o problema e como posso resolvê-lo?

Responder1

-L 8888:localhost:22 encaminhará sua porta local 8888 para a porta 22 do servidor ssh. Contanto que não haja nenhum servidor squid ou outro proxy em execução, não funcionará.

O SSH pode fornecer um proxy de meias, que você pode usar para navegar pelo seu túnel ssh.

ssh -fNg -D 8888 -p 1000 username@server-address  -v

Basta definir seu proxy após conectar:

localhost:8888

Responder2

Você escreve "Eu uso o seguinte comando para fazer um túnel ssh para meu servidor Ubuntu:

ssh -fNg -L 8888:127.0.0.1:22 -p 1000 nome de usuário@endereço-servidor -v

OK, então você precisaria ter um servidor SSH na porta 1000

OK, então o programa cliente estaria se conectando à porta 8888 e tudo o que ele enviar será encaminhado para a porta 22 (sendo 22 a porta comumente usada para ssh).

Eu acho que se você estivesse tentando encapsular o ssh dentro do ssh, isso poderia fazer sentido, embora eu não consiga pensar na necessidade disso!

Então eu configurei o proxy OSX http e https para 127.0.0.1:8888"

Não, você já tem o SSH abrindo uma porta escutando na porta 8888. Você não pode ter outra coisa escutando nessa porta.

Se você colocar o proxy http[s] na porta 22 da máquina de destino (endereço do servidor) e configurar seu navegador para usar o proxy 127.0.0.1:8888, seu navegador poderá se conectar à porta 8888 e isso será encaminhado para o proxy http na porta 22 da máquina de destino. Quando você fez -L 8888:127.0.0.1:22isso, significa que você precisa ter algo escutando na porta 22 da máquina de destino. E você pode querer mudar 22 para algo mais sensato como 8080. Não testei, mas acho que funcionaria

Alternativamente, o SSH também tem uma opção -D que atua como um proxy SOCKS que pode fazer HTTP[s] , mas diz ao navegador para se conectar a um proxy SOCKS em vez de um HTTPS normal. Então, suponho que, como a linha que David disse, ssh -fNg -D 8888 -p 1000 username@server-address -v -fNg e -v não são essenciais, é claro.

informação relacionada