Eu sou capaz de estabelecer uma conexão ssh do meu computador windows (localhost - eth1) para o meu computador linux (remotehost - eth0) fazendo:
ssh [email protected]
Em vez de usar isso, porque eu uso portas não-padrão eu tenho que especificar a porta:
ssh -p remoteSSH [email protected]
Em seguida, encaminhar http e ssl para as portas http e ssl do remotehost. Eu tenho alguns serviços que eu quero usar na caixa linux, então eu uso isso:
ssh -L 80:127.0.0.1:80
ssh -L 443:127.0.0.1:443
Por último, eu tento "seguramente" reverter o tráfego de encaminhamento do (localhost) através do (remotehost) e de volta para o (localhost). Mas, com esta conexão eu preciso que o proxy socks seja 127.0.0.1:proxy1. Eu fui bem sucedido na criação de um proxy não-socks que aponta proxy1 para a [porta específica aka proxy2] no (localhost) através do método de encaminhamento acima, mas eu estou tentando evitar constantemente modificar arquivos html para apontar para a porta proxy .
Quando eu usei putty, eu tinha conectividade para todas as conexões acima, exceto para a conexão dinâmica de meias que só funcionava para encaminhar o tráfego padrão de http / s. Eu não quero criar um proxy para a internet. Eu parei de usar o putty porque ele desconecta as conexões e falha sempre que o tráfego é encaminhado. Este último é um bug conhecido:
link
These features were new in beta 0.61 (released 2011-07-12):
Bug fix: corruption of port forwarding is fixed (we think).
These features were new in beta 0.59 (released 2007-01-24):
Bug fix: SSH-1 connections tended to crash, particularly when using port forwarding.
These features were new in beta 0.58 (released 2005-04-05):
Fixed crashing bug with remote port forwarding.
These features were new in beta 0.53 (released 2002-10-01):
Various bug fixes, including (with luck) much greater stability in high-traffic port forwarding situations.
Então, na caixa do windows, eu mudei para o cygwin para openssh. O comando que eu tenho até agora é:
ssh -t -t -L 80:127.0.0.1:80 -L 443:127.0.0.1:443 -p remoteSSH [email protected] -R proxy1:127.0.0.1:randomport "ssh -D randomport 127.0.0.1"
Para testar a conexão de proxy1 para proxy2, no Firefox eu configurei:
HTTP Proxy: Port:
SSL Proxy: Port:
FTP Proxy: Port:
SOCKS Host: 127.0.0.1 Port: proxy1
SOCKSv5
No Proxy for:
Recebo uma resposta dizendo que o servidor proxy está recusando conexões. Eu criei regras na caixa do Windows para permitir as conexões. Eu desabilitei meu firewall do Windows e permiti a conexão no iptables na caixa linux via:
$IPTABLES -A OUTPUT -o eth1 -p tcp -m tcp -s 192.168.1.100 -d 192.168.1.200 --dport randomport -j ACCEPT
iptables já está configurado para permitir o tráfego local. Eu uso a autenticação de chave privada baseada em host protegida por senha. Eu tenho syslog-ng (cygwin) logging ssh.
Talvez, como uma alternativa ou além da pergunta, alguém possa me direcionar para ferramentas do Linux e / ou do Windows que possam me ajudar a diagnosticar o problema. Para Windows, eu tenho o Windows System Control Center com o Sysinternals Suite e o Nirsoft Utilities. O sistema Windows: Windows 7. Linux: Slackware 64
link
link
link