Como criar um túnel local-remoto-local para uma porta específica usando ssh

1

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

    
por user2270773 24.02.2014 / 23:32

1 resposta

0

Eu decidi usar uma abordagem testada pelo tempo de tentativa e erro. Isto é o que permitiu o acesso ao proxy2:

ssh -t -t -D proxy1 -R proxy2:127.0.0.1:proxy2 -p remoteSSH [email protected]

No Firefox, agora posso entrar:

https://127.0.0.1:proxy2

que enviará a conexão através do túnel (proxy1) para o proxy local (proxy2), tornando-se essencialmente um túnel local-remoto-local para uma porta específica.

Enquanto o proxy2 é acessível através do proxy1, o proxy1 tem permissão para acessar a Internet. Para limitar o acesso dos proxies, adicionei uma entrada PermitOpen no arquivo sshd_config do host remoto em 192.168.1.100, de acordo com a página man:

link

PermitOpen 127.0.0.1:proxy2 127.0.0.1:80 127.0.0.1:443
    
por 25.02.2014 / 04:58