Відповіді:
Якщо ви скористаєтеся -v
опцією, ssh
він покаже вам, що ви пересилаєте (але він також покаже вам купу інших повідомлень про налагодження):
ssh -v -L2222:localhost:22 remotehost
Покаже вам:
...debug messages...
debug1: Authentication succeeded (publickey).
Authenticated to remotehost ([10.0.0.23]:22).
debug1: Local connections to LOCALHOST:2222 forwarded to remote address localhost:22
debug1: Local forwarding listening on ::1 port 2222.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 2222.
...debug messages...
І тоді, коли ви підключені до цієї віддаленої оболонки, ви можете ввести спеціальну послідовність клавіш:
~#
який перелічить такі з'єднання:
The following connections are open:
#3 client-session (t4 r0 i0/0 o0/0 fd 7/8 cc -1)
#4 direct-tcpip: listening port 2222 for localhost port 22, connect from 127.0.0.1 port 59742 (t4 r1 i0/0 o0/0 fd 10/10 cc -1)
Однак зауважте, що це буде лише перелічені перенаправлені порти, які фактично використовуються іншою програмою (у цьому випадку я щойно робив telnet localhost 2222
на своїй локальній машині, щоб переправити його remotehost
.
Якщо у вас немає з'єднань, які зараз пересилаються, ви все одно можете бачити, що ваша команда ssh прослуховує локально, використовуючи таку netstat
команду:
% netstat -tpln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:2222 0.0.0.0:* LISTEN 28995/ssh
tcp6 0 0 ::1:2222 :::* LISTEN 28995/ssh
netstat
Команда буде також , ймовірно , список інших речей, але то , що ви хочете подивитися на виході є PID/Program
стовпець , щоб шукати ssh
процеси, і Local Address
колона , яка покаже вам , які порти слухають. У цьому прикладі він прослуховується port 2222
як для інтерфейсів IPv4, так і для IPv6 на моїй машині.
netstat
було знято на користь ss
.