O Putty pode estabelecer um gateway para o servidor remoto do SSH?

0

Meu computador doméstico desktop (veja a imagem abaixo) se conecta via SSH ao Office Server (via internet, é claro).

Eu conecto a esse servidor da minha área de trabalho home (executando o Linux) usando o cliente OpenSSH do Linux (observe o -g para a opção "gateway"):

ssh MyUser@OfficePublicIP -L 22222:172.26.0.10:22 -g

Então, quando a conexão é feita, eu tenho um túnel SSH em execução no servidor para minha LAN:

luis@HomeDesktop:~$ netstat -ano | grep "22222" -i
tcp        0      0 0.0.0.0:22222           0.0.0.0:*               LISTEN      off (0.00/0/0)

E agora posso ir para o meu laptop doméstico e abrir uma sessão SSH para o servidor do escritório pelo meu Home Desktop (executando o Windows) usando o PuTTY:

PuTTY 192.168.0.101 -P 22222

O processo é mostrado neste esquema (siga a linha preta setas ):

Oproblemaé:precisoexecutaroWindowsemmeudesktopdoméstico,emvezdoLinux.Eeucertamenteprefirousaro Putty cliente SSH (eu gosto sua configurabilidade terminal).

Mas o Putty v0.63 parece não ter esta opção -g (gateway) que permite conexões externas para portas encaminhadas (tunelizadas).

Eu fiz uma pesquisa através do arquivo .chm da putty help, mas nem a Putty nem a ferramenta associada PLink parecem ter essa opção.

Alguém sabe como tunelizar conexões com o servidor do escritório na minha área de trabalho, mas continuar usando o PuTTY ?

    
por Sopalajo de Arrierez 25.02.2014 / 02:04

2 respostas

0

Bem ... na verdade, se o que você quer é somente a janela do PuTTY para escrever na sessão SSH remota, você pode usá-lo apenas para isso, e estabelecer o túnel usando ( simultaneamente em outro console) qualquer outra porta cliente SSH do Linux para o Windows.

Por exemplo, o cliente OpenSSH do CygWin deve funcionar bem:

$ ssh -V
OpenSSH_6.6p1, OpenSSL 1.0.1f 6 Jan 2014

$ ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port]
           [-Q cipher | cipher-auth | mac | kex | key]
           [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] [user@]hostname [command]

A propósito, a sintaxe é a mesma que você está usando quando executa o Linux em sua área de trabalho em casa.

ssh MyUser@OfficePublicIP -L 22222:172.26.0.10:22 -g
    
por 18.04.2014 / 13:06
0

Você pode corrigir / simular a opção gateway executando simultaneamente em seu desktop doméstico um encaminhador de porta simples em outra porta.

Por exemplo, costumo usar o Port Forwarding for Windows (prefiro o "antigo utilitário de linha de comando", portanto Eu posso automatizá-lo via script). No seu caso, digamos 11111TCP será a porta "transitória":

c:\>trivial_portforward.exe 11111 127.0.0.1 22222

Verifique se as duas portas estão ouvindo fazendo (na sua área de trabalho em casa):

c:\>netstat -ano | grep "11111" -i
TCP    0.0.0.0:11111          0.0.0.0:0              LISTENING       6724

netstat -ano | grep "22222" -i
TCP    127.0.0.1:22222        0.0.0.0:0              LISTENING       6028

E agora, você pode fazer no seu laptop :

c:\>PuTTY 192.168.0.101 -P 11111

A conexão SSH deve ser bem-sucedida. Ao mesmo tempo, você deve ver no console trivial_portforward a confirmação:

received connection from 192.168.0.102
connection to 127.0.0.1:22222 established

NOTA: Você deve usar 127.0.0.1 em vez de localhost (lembre-se de que o seu problema é que não há redirecionamento com o PuTTY, mas sim com 127.0.0.1 ).

    
por 18.04.2014 / 13:31