Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Perte de session ssh, reprendre des programmes en cours d'éxécution

3 réponses
Avatar
Léonard Wauters
Salut à tous,

Je perds souvent des connections ssh à destination d'un serveur linux
à cause d'un firewall/NAT avec des timings trop faibles (et je n'y ai
pas accès). Il "oublie" mes connexions au bout d'environ 15 minutes si
je ne fais rien sur la console. Du coup, putty me renvoie un message
d'erreur (du style "connection timed out") et je perds le terminal,
mais la session reste active côté serveur.

Pour contrer cela, il y a une option dans Putty pour maintenir la
connexion active (seconds detween keepalives).

La commande who m'affiche les connections perdues pendant encore un
certain temps (je dirais une bonne heure).
Les questions que je me pose sont les suivantes :
-quel programme décide sur la machine linux au bout de combien de
temps la connexion est invalide ? Est-ce PAM ? ssh ? Le noyau ?
-peut-on reprendre l'exécution des programmes appartenant à la
connexion précédente sur un autre terminal ?


Léo.

3 réponses

Avatar
Julien Delange
On Tue, 05 Aug 2003 13:23:53 +0200, Léonard Wauters wrote:

Salut à tous,
Bonjour



Pour contrer cela, il y a une option dans Putty pour maintenir la
connexion active (seconds detween keepalives).


Oui, il envoit une commande qui fait rien pour dire au serveur qu'il est
là ;-)



La commande who m'affiche les connections perdues pendant encore un
certain temps (je dirais une bonne heure).
Les questions que je me pose sont les suivantes :
-quel programme décide sur la machine linux au bout de combien de
temps la connexion est invalide ? Est-ce PAM ? ssh ? Le noyau ?


man sshd_config

LoginGraceTime
The server disconnects after this time if the user has not suc-
cessfully logged in. If the value is 0, there is no time limit.
The default is 120 seconds.

=> Ca vient du serveur ssh surement.

-peut-on reprendre l'exécution des programmes appartenant à la
connexion précédente sur un autre terminal ?


man screen.


Cordialement,

--
:: Julien Delange (julien AT gunnm DOT org) | :: GPG ::
x http://gunnm.org ____________/------------
x http://forum.gunnm.org / 8F36 4FD5 3845 6565 71DC
x http://julien.gunnm.org | F440 14D0 D2C0 FF1C EFB3

Avatar
Léonard Wauters
On Tue, 05 Aug 2003 13:45:39 +0200, Julien Delange
wrote:

La commande who m'affiche les connections perdues pendant encore un
certain temps (je dirais une bonne heure).
Les questions que je me pose sont les suivantes :
-quel programme décide sur la machine linux au bout de combien de
temps la connexion est invalide ? Est-ce PAM ? ssh ? Le noyau ?


man sshd_config

LoginGraceTime
The server disconnects after this time if the user has not suc-
cessfully logged in. If the value is 0, there is no time limit.
The default is 120 seconds.

=> Ca vient du serveur ssh surement.
Ok, mais ca c'est le temps qui est imparti pour entrer un l/p valide.

Dans mon cas, je suis déja connecté, la session entre le client (moi)
et le serveur saute à cause du firewall ou de la connection adsl à 2
balles dont on dispose. Cependant, le serveur linux croit que je suis
toujours connecté et who affiche plusieurs fois le même utilisateur
connecté alors que je ne dispose que d'une seule console active.

La "table" des utilisateurs connectés est gérée par qui ?


Léo.


Avatar
Erwann ABALEA
On Tue, 5 Aug 2003, Léonard Wauters wrote:

balles dont on dispose. Cependant, le serveur linux croit que je suis
toujours connecté et who affiche plusieurs fois le même utilisateur
connecté alors que je ne dispose que d'une seule console active.


Ben oui. Si le serveur SSH ne s'est pas rendu compte que la connexion est
coupée, il ne se terminera pas, et donc le système croira que tu es
toujours loggué.

La "table" des utilisateurs connectés est gérée par qui ?


Par qui veut bien, en fait. sshd le fait, de même que telnetd,
getty/login, etc...

Note que tu as posé une autre question, qui était de savoir comment
récupérer les programmes précédemment lancés, sur ta nouvelle session. La
réponse t'a été donnée, mais tu l'as peut-être loupée. Il existe
l'excellent 'screen' pour faire ça. Très bon, très simple d'utilisation.
En gros, quand tu te connectes, tu lances un screen, et à l'intérieur de
ce screen tu peux avoir autant de sous-sessions que tu veux (comme si tu
en avais ouvert plusieurs). Si la connexion est coupée, accidentellement
ou non, screen se détache du pseudo-terminal, mais reste actif avec tous
les programmes lancés sous son contrôle. Quand tu te reconnectes (1 mn
après ou le mois suivant), tu fais un 'screen -r -d', ou, si tu veux être
plus brutal: 'screen -D -RR', et tu retrouves l'environnement que tu avais
laissé.

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
j viens de griller mon 8 Go ( pfiou lé enkore sous garantie ) j ai un
exposé a faire sur 95/98/NT/2000 si vs zavez des sites bien detaillés
la dessus ( chuis en ekole d info ) Ze vs serai tte ma vie reconnaissant
-+- Zul in Guide du Neuneu d'Usenet-Epita loupé l'ENS. Té, l'est con-+-