Túnel SSH, como saber as informações da porta do servidor após o tunelamento

Túnel SSH, como saber as informações da porta do servidor após o tunelamento

Estou tentando pesquisar no Google um método para conseguir isso, mas não consigo encontrar um.

Basicamente, criei um túnel SSH para vários hosts remotos por meio de um host bastião 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 posso saber o mapeamento dos detalhes da conexão para a porta local sempre que o túnel estiver ativo.

ou seja, quero poder criar uma lista deste formulário.

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

É possível?

Responder1

Existe uma solução simples, mas listará apenas osatualmente ativoconexões de túnel: está usando a sequência de escape ssh~#

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

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

~# - lista conexões encaminhadas

A saída de exemplo 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.

informação relacionada