104 votes

Comment fermer ce tunnel ssh ?

J'ai ouvert un tunnel ssh comme décrit dans cet article : Zend_Db : Comment se connecter à une base de données MySQL via un tunnel SSH ?

Mais maintenant, je ne sais plus ce que j'ai fait. Cette commande affecte-t-elle quoi que ce soit sur le serveur ? Et comment puis-je fermer ce tunnel, car maintenant je ne peux pas utiliser correctement mon mysql local.

J'utilise OSX Lion et le serveur fonctionne sous Ubuntu 11.10.

50voto

thenetimp Points 2300

Cela tuera toutes les sessions ssh que vous avez ouvertes depuis le terminal.

 sudo killall ssh

24voto

aaron Points 572

Remarque : ajouter comme réponse car les commentaires ne prennent pas en charge les blocs de code.

À mon avis, il est préférable de NE PAS utiliser -f et de simplement mettre en arrière-plan le processus comme d'habitude avec & . Cela vous donnera le pid exact dont vous avez besoin pour tuer:

 ssh -N -L1234:other:1234 server &
pid=$!
echo "waiting a few seconds to establish tunnel..."
sleep 5
... do yer stuff... launch mysql workbench whatever
echo "killing ssh tunnel $pid"
kill $pid

Ou mieux encore, créez simplement ceci en tant que script wrapper :

 # backend-tunnel <your cmd line, possibly 'bash'>
ssh -N -L1234:other:1234 server &
pid=$!
echo "waiting a few seconds to establish tunnel..."
sleep 5
"$@"
echo "killing ssh tunnel $pid"
kill $pid

backend-tunnel mysql-workbench

backend-tunnel bash

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X