Comment annuler le transfert de port local depuis la console ssh

7

Je peux transférer des ports locaux à l'aide de la commande ci-dessous

ssh> help
Commands:
      -L[bind_address:]port:host:hostport    Request local forward
      -R[bind_address:]port:host:hostport    Request remote forward
      -KR[bind_address:]port                 Cancel remote forward

ssh> -L 8080:localhost:8080
Forwarding port.

Mais comment annuler ce transfert de port? Je vois le -KR pour annuler les transferts distants, mais il ne semble pas y avoir de -KL pour annuler mon transfert local.

Demander un autre transfert sur le même port (dans l’espoir de remplacer l’ancien) donne ce message

ssh> -L 8080:localhost:8081
bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 10101
arcyqwerty
la source

Réponses:

5

avec les versions plus récentes de (open) ssh, il existe une commande d'échappement pour annuler également les transferts locaux:

ssh> help
Commands:
      -L[bind_address:]port:host:hostport    Request local forward
      -R[bind_address:]port:host:hostport    Request remote forward
      -D[bind_address:]port                  Request dynamic forward
      -KL[bind_address:]port                 Cancel local forward
      -KR[bind_address:]port                 Cancel remote forward
      -KD[bind_address:]port                 Cancel dynamic forward
Andi Zeidler
la source
3

Il n'y a pas de moyen simple de le faire en ligne de commande.

Vous pouvez trouver le PID:

$ ps x | grep ssh
 1234 ?        Ss     0:00 ssh -f -N -L 8080:localhost:8080 remotehost

Et puis tuez le processus:

$ kill 1234
Jim Stewart
la source
2

Il semble n'y avoir aucun autre moyen que de sortir de la connexion et de recommencer. J'adorerais avoir tort

Mbrevda
la source
Réponse acceptée modifiée en raison de mises à jour dans openssh
arcyqwerty