How can I get list of open SSH tunnels?
Solution 1:
You can use 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)
The last line represent a tunnel (look at the state LISTEN).
Solution 2:
In Ubuntu, with iptables and iptstate installed and standard ssh port:
iptstate -D 22
each line will represent open tunnel.
Solution 3:
If you're trying to find out what's using the tunnel(s) in a single ssh
session, type ~#
at the beginning of a line.
Solution 4:
/sbin/ip tunnel list # replacement for the deprecated iptunnel command