OVH Cloud OVH Cloud

Comment maintenir ou relancer un tunnel SSH ?

6 réponses
Avatar
Bruno Baguette
Bonjour,

J'ai un tunnel SSH vers une machine distante qui a le malheur d'avoir
une perte de connection une ou deux fois par jour (perte de synchro
ADSL) et avec ca d'avoir une adresse IP variable.

Ce qui m'impose de devoir relancer ma commande SSH pour remettre en
route le tunnel.

N'y a t'il pas une option que j'aurais ratée dans SSH, voire un autre
outil, qui me permettrait que ce tunnel se maitienne ou se relance tout
seul comme un grand ?

D'avance merci ! :-)

--
Bruno BAGUETTE - bouchon@alussinan.org

S'i'n'a è'ne saquî qui n'doit nin mârtchi, è'n mârtch'rè nîn.

6 réponses

Avatar
Erwann ABALEA
Bonjour,

On Wed, 9 Mar 2005, Bruno Baguette wrote:

J'ai un tunnel SSH vers une machine distante qui a le malheur d'avoir
une perte de connection une ou deux fois par jour (perte de synchro
ADSL) et avec ca d'avoir une adresse IP variable.


C'est normal.

Ce qui m'impose de devoir relancer ma commande SSH pour remettre en
route le tunnel.


Ben oui.

N'y a t'il pas une option que j'aurais ratée dans SSH, voire un autre
outil, qui me permettrait que ce tunnel se maitienne ou se relance tout
seul comme un grand ?


Pas d'option, puisque tu changes d'IP, il n'est pas possible de garder la
connexion ouverte.

Je m'en tire à coup de scripts appelés par un cronjob, ça marche très bien
depuis 3 ou 4 ans (un seul script par tunnel, j'en maintiens 2).

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
coucou john
-+- AB in <http://neuneu.mine.nu> WinVN 0.99 rendrait-il concon ? -+-

Avatar
Bruno Baguette
Pas d'option, puisque tu changes d'IP, il n'est pas possible de garder la
connexion ouverte.


Je n'ai pas été précis à ce sujet, je suis en IP fixe, (pas la machine
distante).

Je comprend que la connection *doit* se couper car l'IP distante change,
mais je me demandais si SSH (ou autre) ne pouvait pas détecter la
coupure et immédiatement re-tenter de se connecter.

Je m'en tire à coup de scripts appelés par un cronjob, ça marche très bien
depuis 3 ou 4 ans (un seul script par tunnel, j'en maintiens 2).


Est-ce que cela serait possible de voir le cronjob en question ? Des
fois que ca répondrait au résultat que je cherche à obtenir ?

D'avance merci :-)

--
Bruno BAGUETTE -

S'i'n'a è'ne saquî qui n'doit nin mârtchi, è'n mârtch'rè nîn.

Avatar
l'indien
On Wed, 09 Mar 2005 10:12:06 +0100, Bruno Baguette wrote:

Pas d'option, puisque tu changes d'IP, il n'est pas possible de garder la
connexion ouverte.


Je n'ai pas été précis à ce sujet, je suis en IP fixe, (pas la machine
distante).

Je comprend que la connection *doit* se couper car l'IP distante change,
mais je me demandais si SSH (ou autre) ne pouvait pas détecter la
coupure et immédiatement re-tenter de se connecter.


Il peut tout à fait détecter la coupure. Il suffit de lui demander.
Voire le man pour les options de link-control.
Ensuite, quand il se déconnecte, il suffit de le relancer.

[...]


Avatar
TiChou
Dans le message <news:,
*Bruno Baguette* tapota sur f.c.o.l.configuration :

Je comprend que la connection *doit* se couper car l'IP distante change,
mais je me demandais si SSH (ou autre) ne pouvait pas détecter la coupure
et immédiatement re-tenter de se connecter.


Comment ce tunnel est lancé/créé ?

--
TiChou

Avatar
Marc
Bonjour,

J'ai un tunnel SSH vers une machine distante qui a le malheur d'avoir
une perte de connection une ou deux fois par jour (perte de synchro
ADSL) et avec ca d'avoir une adresse IP variable.

Ce qui m'impose de devoir relancer ma commande SSH pour remettre en
route le tunnel.

N'y a t'il pas une option que j'aurais ratée dans SSH, voire un autre
outil, qui me permettrait que ce tunnel se maitienne ou se relance tout
seul comme un grand ?

D'avance merci ! :-)



Bonjour,

j'sais pas si ça va répondre à la question mais ce que je fait :

-mes machines s'enregistrent sur DynDns, comme ça j'ai un nom fixe (à la
rigueur 1 suffit, mais en plus tu as déjà une IP fixe)
-je fait un VPN avec OpenVPN entre les 2 machines
-session SSH à travers le tunel

L'avantage est que OpenVPN masque la connexion ADSL, donc l'éventuel
déco et changement d'IP associée... ensuite OpenVPN remonte le tunnel
tout seul comme un grand, sans impact sur les appli ouvertes... juste un
ralentissement le temps de refaire la négo.

J'utilise cette méthode depuis 1 an, jamais de soucis, fonctionnement
impeccable, mais c'est un poil plus lourd.

Marc.

--
L'I2C sous Windows
http://perso.club-internet.fr/mbouget/index.html

ATTENTION : enlevez les X pour répondre (remove all X to reply)

Avatar
Hugues
Ce cher Bruno Baguette a dit :

Bonjour,

J'ai un tunnel SSH vers une machine distante qui a le malheur d'avoir
une perte de connection une ou deux fois par jour (perte de synchro
ADSL) et avec ca d'avoir une adresse IP variable.

Ce qui m'impose de devoir relancer ma commande SSH pour remettre en
route le tunnel.

N'y a t'il pas une option que j'aurais ratée dans SSH, voire un autre
outil, qui me permettrait que ce tunnel se maitienne ou se relance
tout seul comme un grand ?


Avec un vrai shell <pub>genre zsh</pub> :

$ while ( ! ssh chez_moi ); do ; done

A chaque fois que la connexion coupe, ssh retournera un code d'erreur
et donc la boucle se relancera.
Par contre si tu termines toi meme la connexion proprement, le code
d'erreur sera 0 et donc tu sortiras de la boucle proprement sans avoir
besoin de Killer comme un bourrin :-)

Apres ca, il te suffit de configurer une entree "chez_moi" dans ton
~/.ssh/config qui pointe sur le bon domaine avec les bonnes options
(host, user, tunnels, ..).
Si ton histoire d'IP variable te pose un probleme, tu peux toujours
recourir aux services gratuits de dyndns, changeip, ovh et consorts.

Tu peux egalement regarder du cote des options contenant "Alive" dans
le man ssh_config, certaines pourraient peut etre t'etre utiles (j'en
doute un peu vu que la coupure a l'air d'etre physique, mais sait-on
jamais...)


Voila voilou, j'espere que tu trouveras ton bonheur.
A noter que je n'aime pas du tout le principe du cronjob, car il ne
s'agit pas ici de gerer un evenement periodique, mais plutot de gerer
un evenement d'erreur.

--
Hugues - Linux Addict