Wie kann ich eine Liste offener SSH-Tunnel erhalten?

9

Wie kann ich eine Liste offener SSH-Tunnel erhalten?


Ich verwende einen Mac OS X-Client, der mit dem FreeBSD-Server verbunden ist. Ich versuche, offene Tunnel auf dem Client abzufragen.

Eonil
quelle
Auf welchem ​​Betriebssystem würde das sein? Ist das dein Server? Haben Sie Root-Zugriff darauf? Bitte bearbeiten Sie Ihre Frage und geben Sie weitere Informationen an.
EEAA
Überprüfen Sie Ihre andere Frage , die Antwort, die ich dort gegeben habe, wird auch das lösen.
Coredump
Betrachten Sie eine Sitzung mit mehreren Tunneln oder mehreren Sitzungen? Ziemlich anderes Thema :)
Blitz

Antworten:

9

Sie können lsof verwenden:

$ 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)

Die letzte Zeile stellt einen Tunnel dar (siehe Status LISTEN).

lcipriani
quelle
Sie können den lsofintegrierten Filter auch mit -cflag verwenden. Also , lsof -i tcp -c '/^ssh/'.
Volte
4

In Ubuntu mit iptables und iptstate installiert und Standard-SSH-Port:

iptstate -D 22

Jede Linie repräsentiert einen offenen Tunnel.

alexm
quelle
Ich wusste nicht, dass es existiert.
Registrierter Benutzer
3

Wenn Sie herausfinden möchten, was die Tunnel in einer einzelnen sshSitzung verwendet, geben Sie ~#am Anfang einer Zeile ein.

Geekosaurier
quelle
interessant!!!!
Valeriy Van
2
/sbin/ip tunnel list # replacement for the deprecated iptunnel command
Lucas Cimon
quelle
0

Verwenden der Antwort von lcipriani in einem Skript:

sessions=$(lsof -i tcp | grep "^ssh" | grep ESTABLISHED)
if [ -z "sessions" ]; then
    echo "no open ssh sessions"
else
    echo "ssh sessions are open"
fi
user206746
quelle