SSH Tunnel Not Working As Expected

3

Estou tentando fazer um tunelamento através de um IP público para a porta 80 de um servidor privado. Eu sei que o apache está rodando na porta 80 porque se eu fizer ssh no IP público eu posso acessar o servidor privado via lynx . O comando que estou usando é o seguinte:

ssh <remote_public_id> -N -L 9080:<private_ip_of_other_server>:80

Em seguida, o acesso ao link indica a incapacidade de se conectar. Eu estou fazendo isso do OSX. Rodando o comando ssh -version, recebo o seguinte caso seja importante:

OpenSSH_5.2p1, OpenSSL 0.9.8l 5 Nov 2009

Como solicitado por Ernest, aqui está algum debug. Isso é depois que eu digito minha senha. Removido o endereço IP para fins de segurança.

debug3: packet_send2: adding 48 (len 63 padlen 17 extra_pad 64)
debug2: we sent a password packet, wait for reply
debug1: Authentication succeeded (password).
debug1: Local connections to LOCALHOST:9080 forwarded to remote address <private_ip>:80
debug3: channel_setup_fwd_listener: type 2 wildcard 0 addr NULL
debug1: Local forwarding listening on ::1 port 9080.
debug2: fd 4 setting O_NONBLOCK
debug3: fd 4 is O_NONBLOCK
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 9080.
debug2: fd 5 setting O_NONBLOCK
debug3: fd 5 is O_NONBLOCK
debug1: channel 1: new [port listener]
debug1: Requesting [email protected]
debug1: Entering interactive session.

E então esta depuração quando faço uma solicitação:

debug1: channel 3: free: direct-tcpip: listening port 9080 for zmanda port 80, connect from ::1 port 64917, nchannels 5
debug3: channel 3: status: The following connections are open:
  #2 direct-tcpip: listening port 9080 for zmanda port 80, connect from ::1 port 64912 (t4 r0 i0/0 o0/0 fd 6/6 cfd -1)
  #3 direct-tcpip: listening port 9080 for zmanda port 80, connect from ::1 port 64917 (t4 r1 i3/0 o3/0 fd 7/7 cfd -1)
  #4 direct-tcpip: listening port 9080 for zmanda port 80, connect from ::1 port 64918 (t3 r-1 i0/0 o0/0 fd 8/8 cfd -1)

debug3: channel 3: close_fds r 7 w 7 e -1 c -1
debug2: channel 4: open confirm rwindow 2097152 rmax 32768
debug2: channel 4: rcvd eof
debug2: channel 4: output open -> drain
debug2: channel 4: obuf empty
debug2: channel 4: close_write
debug2: channel 4: output drain -> closed
debug2: channel 4: read<=0 rfd 8 len 0
debug2: channel 4: read failed
debug2: channel 4: close_read
debug2: channel 4: input open -> drain
debug2: channel 4: ibuf empty
debug2: channel 4: send eof
debug2: channel 4: input drain -> closed
debug2: channel 4: send close
debug3: channel 4: will not send data after close
debug2: channel 4: rcvd close
debug3: channel 4: will not send data after close
debug2: channel 4: is dead
debug2: channel 4: garbage collecting
debug1: channel 4: free: direct-tcpip: listening port 9080 for zmanda port 80, connect from ::1 port 64918, nchannels 4
debug3: channel 4: status: The following connections are open:
  #2 direct-tcpip: listening port 9080 for zmanda port 80, connect from ::1 port 64912 (t4 r0 i0/0 o0/0 fd 6/6 cfd -1)
  #4 direct-tcpip: listening port 9080 for zmanda port 80, connect from ::1 port 64918 (t4 r1 i3/0 o3/0 fd 8/8 cfd -1)

debug3: channel 4: close_fds r 8 w 8 e -1 c -1
    
por Gregg 16.06.2011 / 02:55

1 resposta

2

Então a questão era algumas coisas.

  1. O aplicativo da web está executando o SSL, então tive que fazer a porta 443 em vez de 80
  2. Por alguma razão, você não pode encaminhar 443 para uma porta local diferente. Então eu tive que encaminhar para 443.

O comando final ficou assim:

sudo ssh gdboling@<public_ip> -N -L 443:<private_host>:443 
    
por 16.06.2011 / 21:55