SSH Tunnel, como saber as informações da porta do servidor post tunneling

1

Estou tentando usar o método google para conseguir isso, mas não consigo encontrar um.

Basicamente, eu criei um túnel SSH para vários hosts remotos através de um host bastion usando um comando como este.

ssh -L 9000:ourprodserver.domain.com:1521 \
    -L 9001:otherprodserver.domain.com:1521 \
-A -l [email protected] somebastionhost.domain.net

Agora, como sei o mapeamento dos detalhes da conexão para a porta local sempre que o túnel está ativo.

, por exemplo, quero poder criar uma lista desse formulário.

L_port         Remote_host            R_port
9000       ourprodserver.domain.com   1521
9001       otherprodserver.domain.com 1521

É possível?

    
por Kaushik Nayak 01.06.2018 / 12:33

1 resposta

0

Existe uma solução simples, mas listará apenas as conexões de túnel atualmente ativas : ela está usando a seqüência de escape ssh ~ #

Se o túnel não for usado, não será mostrado.

Da ajuda (mostrada com ~? dentro de uma conexão ssh ativa):

~# - list forwarded connections

Exemplo de saída será:

user@somebastionhost$ ~#
The following connections are open:
  #4 client-session (t4 r0 i0/0 o0/0 fd 9/10 cc -1)
  #5 direct-tcpip: listening port 9000 for ourprodserver.domain.com port 1521, connect from 127.0.0.1 port 48954 to 127.0.0.1 port 9000 (t3 nr0 i0/0 o0/0 fd 12/12 cc -1)

No lado do cliente, você pode ter uma ideia dos túneis abertos, mesmo os inativos, listando os soquetes TCP abertos:

lsof -n -p <pidof-ssh-client> -a -iTCP -a -sTCP:LISTEN

Embora isso não responda totalmente à sua pergunta, pode ser um ponto de partida.

    
por 01.06.2018 / 16:15