Si je me connecte à un serveur comme ceci:
JP_PORT=$(shuf -i 8895-9100 -n 1)
TB_PORT=$(shuf -i 6010-6200 -n 1)
ssh -Y -L ${JP_PORT}:127.0.0.1:${JP_PORT} -L ${TB_PORT}:127.0.0.1:${TB_PORT} <Host>
Une fois la connexion établie, y a-t-il une commande de terminal qui renverra la liste des ports que j'ai transférés?
Vous pouvez lister via lsof
Sudo lsof -i -n
Vous pouvez utiliser grep pour filtrer les résultats
Sudo lsof -i -n | grep ssh
S'il suffit de répertorier uniquement les connexions transférées réellement utilisées, et si votre session est interactive (comme dans votre cas), vous pouvez utiliser le ~#
escape dans la session ssh. Il suffit de taper enter~#.
$ ssh -L1234:localhost:22 localhost
seb@localhost's password:
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-23-generic x86_64)
$ ~#
The following connections are open:
#2 client-session (t4 r0 i0/0 o0/0 fd 7/8 cc -1)
#3 direct-tcpip: listening port 1234 for localhost port 22, connect from 127.0.0.1 port 37238 to 127.0.0.1 port 1234 (t4 r1 i0/0 o0/0 fd 10/10 cc -1)
Cela listera également les redirections ajoutées ultérieurement au cours de la session à l'aide de commandes d'échappement et n'apparaissant donc pas sur la ligne de commande.
Essayez ~?
pour d’autres commandes utiles dans la session SSH. Voir aussi la section sur les caractères d'échappement (ESCAPE CHARACTERS) dans le page de manuel ssh .