Tunelamento SSH para contornar o firewall (http e socks)

1

Estou com problemas para configurar o seguinte:

Estou no Linux na máquina LOCAL (meu notebook).

Eu ssh em uma máquina da empresa REMOTE que está por trás de um firewall e só permite conexões ssh de entrada (porta 22), sem conexões de saída que seja. Eu tenho acesso root completo em ambos, LOCAL e REMOTO, REMOTE é no entanto um VPS e por trás de um firewall de hardware.

Agora preciso de acesso à rede no REMOTE (HTTP e outros protocolos) para baixar e criar algum software. Eu também preciso acessar protocolos NON HTTP, como o git.

Eu estava esperando para configurar um túnel SSH reverso para usar minha máquina LOCAL, onde eu poderia estar executando um servidor de meias. Assim, o acesso à rede no REMOTE seria redirecionado através do túnel SSH para um servidor de meias em execução na máquina LOCAL.

Como eu poderia definir algo assim?

Obrigado

    
por Baffled Geek 04.08.2010 / 18:49

2 respostas

4

Isso se mostrou muito mais fácil do que eu pensava, o que eu estava fazendo de errado era tentar fazer tudo com um único comando (o que deveria ser realmente possível, dado que eu só preciso executar comandos em LOCAL).

A única coisa que precisava ser feita era 1) configurar um túnel reverso entre LOCAL e REMOTE e, em seguida, iniciar o encaminhamento dinâmico de portas em LOCAL.

Eu tenho agora trabalhando acesso à Internet no REMOTE que é encapsulado através de LOCAL, aplicativos de meias são configurados para usar a porta encaminhada, que redireciona para o encaminhamento de porta dinâmica em execução em LOCAL.

LOCAL: > ssh -D SOCKS_PORT local_user @ localhost -p LOCAL_SSH_PORT

LOCAL: > ssh -R SOCKS_PORT: localhost: SOCKS_PORT remote_user @ REMOTE -p REMOTE_SSH_PORT

    
por 04.08.2010 / 20:37
1

No Unix, o SSH já empacota um servidor de meias. Basta usar a configuração DynamicForward para definir sua porta e lá está você. Por exemplo:

Host REMOTE
  Hostname remote.yourcompany.com
  User you
  ServerAliveInterval 110
  ForwardAgent yes
  DynamicForward 9000

Em seguida, no Firefox, você pode configurar o proxy para o socks 5, host: localhost, port: 9000

Você também pode estar interessado em tsocks que é um suporte de proxy transparente para meias. Quer correr "svn update" como se estivesse na rede remota? basta executar "tsocks svn update".

Meu tsocks.conf é assim:

# We can access 192.168.0.* directly
local = 127.0.0.1/255.255.255.0

# Otherwise we use the server
server = 127.0.0.1

server_port = 9000

E funciona com meias SSH, eu apenas tentei.

    
por 04.08.2010 / 18:54