Se você usar a opção -v
para ssh
, ela mostrará o que você está encaminhando (mas também mostrará um monte de outras mensagens de depuração):
ssh -v -L2222:localhost:22 remotehost
mostrará a você:
...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...
E quando você está conectado a esse shell remoto, você pode digitar uma sequência de teclas especial:
~#
que listará as conexões assim:
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)
Observe, no entanto, que isso apenas listará as portas encaminhadas que estão sendo usadas por outro programa (neste caso, eu acabei de fazer telnet localhost 2222
em minha máquina local para que ela fosse encaminhada para remotehost
.
Se você não tiver nenhuma conexão que esteja sendo encaminhada, ainda poderá ver o que seu comando ssh está escutando localmente usando o comando netstat
desta forma:
% 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
O comando netstat
também provavelmente listará outras coisas, mas o que você deseja procurar na saída é a coluna PID/Program
para procurar ssh
processes e a coluna Local Address
que mostrará o que as portas estão sendo ouvidas. Neste exemplo, ele está ouvindo em port 2222
para as interfaces IPv4 e IPv6 na minha máquina.