Risposte:
Se usi l' -v
opzione per ssh
mostrarti cosa stai inoltrando (ma ti mostrerà anche un sacco di altri messaggi di debug):
ssh -v -L2222:localhost:22 remotehost
Ti mostrerà:
...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 poi quando sei connesso a quella shell remota puoi digitare una sequenza di tasti speciale:
~#
che elencherà le connessioni in questo modo:
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)
Si noti, tuttavia, che questo elencherà solo le porte inoltrate che vengono effettivamente utilizzate da un altro programma (in questo caso ho appena fatto telnet localhost 2222
sul mio computer locale per averlo inoltrato remotehost
.
Se non si dispone di alcuna connessione attualmente inoltrata, è ancora possibile vedere ciò che il comando ssh sta ascoltando localmente utilizzando il netstat
comando in questo modo:
% 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
Il netstat
comando probabilmente elencherà anche altre cose, ma ciò che vuoi cercare nell'output è la PID/Program
colonna per cercare i ssh
processi e la Local Address
colonna che ti mostrerà quali porte vengono ascoltate. In questo esempio è in ascolto port 2222
per entrambe le interfacce IPv4 e IPv6 sulla mia macchina.
netstat
è stato obsoleto a favore di ss
.