Máquinas envolvidas: (cliente) A - B - C (saída)
A / B é cygwin ssh / sshd, C é linux
O que eu quero:
O tráfego de meias de http (s) e pode ser tunelado por B, C.
Destino é qualquer IP, então -L sozinho não funciona.
O tráfego A - B, B - C deve ser criptografado. (Então eu tento usar ssh)
O que eu fiz a configuração:
Servidor proxy (3proxy) sendo executado em C: http (s) em 3998, socks5 em 3999.
Eu testei o servidor proxy. trabalhando para ambos 127.0.0.1 e IP externo.
comando ssh em A: (eu quero encaminhar local: 3998 para C: 3998, local: 3999 para C: 3999)
ssh -At -L 3998: B: 6998 userB @ B ssh -At -L 6998: C: 3998 userC @ C
ssh -At -L 3999: B: 6999 userB @ B ssh -At -L 6999: C: 3999 userC @ C
Eu testei o login multi-hop: trabalhando.
Use 127.0.0.1:3998 como proxy http (s). Use 127.0.0.1:3999 como proxy de socks.
Problema:
O Firefox não está funcionando com http ou socks, reclamando que a conexão foi redefinida.
(cygwin) wget não está funcionando com http
Mensagem de erro como "canal 8: falha na abertura: falha na conexão: Conexão recusada" está aparecendo no console ssh do C.
Detalhes com -vvv:
on A:
$ export http_proxy=http://127.0.0.1:3998; wget www.bing.com
--2014-04-13 08:54:14-- http://www.bing.com/
Connecting to 127.0.0.1:3998... connected.
Proxy request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.
on C:
root@C:~# debug1: Connection to port 3998 forwarding to B port 6998 requested.
debug2: fd 9 setting TCP_NODELAY
debug3: fd 9 is O_NONBLOCK
debug3: fd 9 is O_NONBLOCK
debug1: channel 3: new [direct-tcpip]
channel 3: open failed: connect failed: Connection refused
debug2: channel 3: zombie
debug2: channel 3: garbage collecting
debug1: channel 3: free: direct-tcpip: listening port 3998 for B port 6998, connect
from 127.0.0.1 port 65460 to 127.0.0.1 port 3998, nchannels 4
debug3: channel 3: status: The following connections are open:
#2 client-session (t4 r0 i0/0 o0/0 fd 6/7 cc -1)
Eu também tentei encaminhar em C sozinho:
(one tty) ssh -vvv -L 127.0.0.1:1234:127.0.0.1:3998 [email protected]
(another tty) export http_proxy=http://127.0.0.1:3998; wget www.bing.com
Funcionou e estou até confuso porque não funcionou na minha configuração.
=============================================== ==================================
Se eu usar este comando, então funciona?!
ssh -At -L 3998:127.0.0.1:6998 userB@B ssh -At -L 6998:127.0.0.1:3998 userC@C
Mas isso não funciona
ssh -At -L 3998:ip_of_B:6998 userB@B ssh -At -L 6998:ip_of_C:3998 userC@C
ssh -At -L 3998:ip_of_B:6998 userB@B ssh -At -L 6998:127.0.0.1:3998 userC@C
Alguém poderia me explicar isso?
Eu não tenho ideia de como o openssh implementa -L para que ele se comporte de maneira tão estranha.