Réponses:
Si vous utilisez l' -v
option, ssh
il vous montrera ce que vous transférez (mais il vous montrera également un tas d'autres messages de débogage):
ssh -v -L2222:localhost:22 remotehost
Vous montrera:
...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...
Et puis, lorsque vous êtes connecté à ce shell distant, vous pouvez taper une séquence de touches spéciale:
~#
qui listera les connexions comme ceci:
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)
Notez cependant que cela ne listera que les ports redirigés qui sont réellement utilisés par un autre programme (dans ce cas, je viens de le faire telnet localhost 2222
sur ma machine locale pour le faire rediriger vers remotehost
.
Si vous n'avez aucune connexion en cours de transfert, vous pouvez toujours voir ce que votre commande ssh écoute localement en utilisant la netstat
commande comme ceci:
% 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
La netstat
commande listera également probablement d'autres choses, mais ce que vous voulez rechercher dans la sortie est la PID/Program
colonne pour rechercher les ssh
processus et la Local Address
colonne qui vous montrera quels ports sont écoutés. Dans cet exemple, il écoute port 2222
les interfaces IPv4 et IPv6 sur ma machine.
netstat
a été obsolète en faveur de ss
.