357 votes

Comment garder de manière fiable un tunnel SSH ouvert ?

Je utilise un tunnel SSH depuis le travail pour contourner divers pare-feu idiots (mon patron est d'accord :)). Le problème est que, après un certain temps, la connexion SSH se bloque généralement et le tunnel est rompu.

Si je pouvais au moins surveiller le tunnel automatiquement, je pourrais redémarrer le tunnel lorsqu'il se bloque, mais je n'ai même pas trouvé de moyen de le faire.

Points bonus pour celui qui peut me dire comment éviter que ma connexion SSH se bloque, bien sûr !

0 votes

Est-ce que votre tunnel est mort à cause de l'inactivité? J'ai rencontré ce problème lors du tunneling des ports depuis mon téléphone, j'ai donc finalement lancé des commandes factices sur la connexion pour le maintenir "actif" en utilisant la commande watch comme ceci : watch -n1 60 echo "wiiiii". Le tunnel ne mourra pas à moins que le réseau soit compromis ou que vous ne l'utilisiez pas.

2 votes

1voto

J'utilise une commande de terminal simple après une connexion SSH

watch -n 60 echo 1

Cela maintient ma connexion SSH tout le temps sauf en cas de problème avec Internet.

Pas besoin d'installer des paquets supplémentaires comme autossh

0voto

koss Points 219

Pendant qu'il existe des outils comme autossh qui aident à redémarrer la session ssh... ce que je trouve vraiment utile, c'est d'exécuter la commande 'screen'. Cela vous permet de REPRISE vos sessions ssh même après avoir déconnecté. Surtout utile si votre connexion n'est pas aussi fiable qu'elle devrait l'être.

...n'oubliez pas de marquer ceci comme la réponse 'correcte' si cela vous aide k! ;-)

8 votes

... mais la question portait sur la manière de maintenir ouverts les tunnels SSH, pas seulement une session de terminal. Screen EST néanmoins génial!

0 votes

Je utilise déjà l'écran, mais cela ne résout pas mon problème :-/ Merci pour votre réponse, cependant.

0voto

Sean Points 310

J'ai eu des problèmes similaires avec mon ancien fournisseur d'accès à Internet. Pour moi, c'était la même chose avec toute connexion tcp, que ce soit pour visiter des sites web ou envoyer des e-mails.

La solution était de configurer une connexion VPN en UDP (j'utilisais OpenVPN). Cette connexion était plus tolérante à tout ce qui causait les déconnexions. Ensuite, vous pouvez exécuter n'importe quel service via cette connexion.

Il peut toujours y avoir des problèmes avec la connexion mais comme le tunnel sera plus tolérant, toute session ssh ressentira un petit retard plutôt que d'être déconnectée.

Pour ce faire, vous aurez besoin d'un service VPN en ligne que vous pouvez configurer sur votre propre serveur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X