J'avais l'habitude ssh -L 10002:192.168.0.30:10002 192.168.1.135
d'établir une redirection de port, mais je dois maintenant la supprimer.
Comment puis-je faire cela?
ssh
port-forwarding
utilisateur16654
la source
la source
Warning: remote port forwarding failed for listen port
message.Réponses:
Si vous utilisez Linux, vous pouvez tuer le processus en:
et ensuite utiliser
Pour tuer le processus.
Si la commande kill n’est pas réussie, vous pouvez essayer
la source
kill -9
avant d'avoir essayékill
. De nombreux processus auront des gestionnaires de signaux qui nettoieront leur utilisation des ressources, fermeront les connexions proprement et d'autres tâches de pré-arrêt. Si vous tuez avec -9, le processus meurt immédiatement sans nettoyage. Tuer sans -9 va travailler la plupart du temps.kill -9
sans raison, c'est comme utiliser un fusil de chasse pour tuer un moustique. :)pgrep ssh | xargs kill
. N'utilisez pas-9
pour rien en effetssh
commande, ou que toutes lesssh
commandes que vous exécutez sont bonnes à tuer. Ce n’est pas une bonne hypothèse générale.ssh
instances sur plusieurs serveurs distants à tout moment, certaines sans ma participation active directe. Par exemple, le mode Tramp Emacs ouvre unessh
connexion en coulisse lorsque je visite un tampon distant. Certaines personnes utilisent des systèmes de fichiers en espace utilisateur qui font quelque chose de similaire. Ce n'est pas du tout rare. En fait, je supposeraisssh
qu'un seul utilisateur, une seule instance soit un cas d'utilisation marginale d'une minorité. Si cela fonctionne pour vous, tant mieux, mais ce n'est pas un bon conseil général.Lorsque vous utilisez le multiplexage ssh, il est souvent indésirable de tuer le processus ssh (cela tue toutes les connexions ouvertes avec cet hôte) et vous ne pouvez pas accéder facilement à l’échappement car "échappement non disponible pour les sessions multiplexées". La bonne façon consiste alors à exécuter l'analogue de la commande de transfert que vous souhaitez annuler, mais en ajoutant
-O cancel
. Par exemple:Cela désactivera cette redirection de port sans mettre fin à la session. Là encore, cela ne fonctionnera que si le multiplexage SSH est utilisé pour la connexion à 192.168.1.135 .
la source
ssh -O exit 192.168.1.135
.Comment annuler un port transféré dans une session SSH déjà en cours d'exécution:
-KL port
Vous devriez voir ceci:
la source
Vous pouvez utiliser la "touche d'échappement" (généralement ~) suivie de C pour obtenir un cli vers votre connexion. Vous pouvez à partir de là supprimer des tunnels sans prendre votre connexion.
la source
Vous pouvez entrer dans une console interactive en tapant ~C(majuscule "C"). Cela vous permet d'ajouter et de supprimer dynamiquement les redirections de ports (entre autres).
Cette séquence doit venir juste après un retour chariot / nouvelle ligne. Donc, dans le doute, tapez simplement Enter~C(en séquence).
Si vous ne voyez pas les caractères apparaître sur la console, vous le faites correctement :)
Vous devriez maintenant voir une
ssh>
invite.Pour supprimer le port, entrez simplement
-KL 10002
suivi de Enter(où10002
est votre port transféré).L'inverse - l'ajout d'un nouvel avant - peut être fait comme ceci (du début à la fin):
Enter~C
Enter
la source
~C escape not available to multiplexed sessions
. Si c'est le cas, voir l'excellente réponse de a3nm.