Como posso obter uma lista de túneis SSH abertos?

7

Como posso obter uma lista de túneis SSH abertos?

Estou usando o cliente Mac OS X conectado ao servidor FreeBSD. Estou tentando consultar os túneis abertos no cliente.

    
por Eonil 11.03.2011 / 03:48

5 respostas

7

Você pode usar o lsof:

$ lsof -i tcp | grep ^ssh
ssh       2211 lcipriani    3r  IPv4  20825      0t0  TCP lcipriani-laptop.local:49164->docsuite.cefla.com:22 (ESTABLISHED)
ssh       2223 lcipriani    3r  IPv4  21945      0t0  TCP lcipriani-laptop.local:34471->gd-b-21.vps.redomino.com:22 (ESTABLISHED)
ssh       2640 lcipriani    3r  IPv4  37488      0t0  TCP lcipriani-laptop.local:45693->makeda-xen1.redomino.com:22 (ESTABLISHED)
ssh       5279 lcipriani    3r  IPv4 212324      0t0  TCP lcipriani-laptop.local:56491->67.227.82.162:22 (ESTABLISHED)
ssh       5279 lcipriani    4u  IPv6 210281      0t0  TCP lcipriani-laptop:10000 (LISTEN)
ssh       5279 lcipriani    5u  IPv4 210282      0t0  TCP localhost.localdomain:10000 (LISTEN)

A última linha representa um túnel (veja o estado LISTEN).

    
por 11.03.2011 / 14:12
4

No Ubuntu, com iptables e iptstate instalados e porta ssh padrão:

iptstate -D 22

cada linha representará um túnel aberto.

    
por 11.03.2011 / 03:59
3

Se você estiver tentando descobrir o que está usando o (s) túnel (s) em uma única sessão de ssh , digite ~# no início de uma linha.

    
por 11.03.2011 / 04:44
2
/sbin/ip tunnel list # replacement for the deprecated iptunnel command
    
por 05.02.2014 / 13:45
0

Usando a resposta do lcipriani em um script:

sessions=$(lsof -i tcp | grep "^ssh" | grep ESTABLISHED)
if [ -z "sessions" ]; then
    echo "no open ssh sessions"
else
    echo "ssh sessions are open"
fi
    
por 24.01.2014 / 19:10