357 votes

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

J'utilise un tunnel SSH depuis le travail pour contourner divers pare-feu idiots (cela ne pose pas de problème avec mon patron :)). Le problème est que, après un certain temps, la connexion ssh se fige généralement et le tunnel est interrompu.

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

Des points bonus pour celui qui peut me dire comment empêcher ma connexion ssh de se figer, bien sûr !

0 votes

Est-ce que votre tunnel est mort à cause de l'inactivité? J'ai eu ce problème lorsque je transférais des ports depuis mon téléphone, alors j'ai finalement commencé à générer des commandes factices sur la connexion pour le maintenir "en vie" en utilisant la commande watch comme ceci : watch -n1 60 echo "wiiiii". Le tunnel ne mourra pas à moins que le réseau ne soit coupé ou que vous ne l'utilisiez pas.

2 votes

1voto

J'utilise une commande terminal simple après la 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

Alors 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 REPRENDRE vos sessions ssh même après avoir été déconnecté. Particulièrement 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. Cependant, Screen EST vraiment génial!

0 votes

J'utilise déjà un é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 précédent fournisseur d'accès internet. Pour moi, c'était la même chose avec n'importe quelle connexion tcp, que ce soit pour visiter des sites web ou envoyer des e-mails.

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

Il peut toujours y avoir des problèmes avec la connexion, mais étant donné que le tunnel sera plus tolérant, toute session ssh ressentira un léger 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