web-dev-qa-db-fra.com

Liste les ports transférés par moi-même à partir de ssh?

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?

3
Austin

Vous pouvez lister via lsof

Sudo lsof -i -n 

Vous pouvez utiliser grep pour filtrer les résultats

Sudo lsof -i -n  | grep ssh
4
Panther

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 .

2
Sebastian Stark