Bonsoir, j'utilise une machine Linux avec SSH (openssh installé d'origine il me semble) depuis un autre ordinateur ( la machine Kali est sur un réseau fiable tandis que mon ordinateur perso est sur un réseau ayant régulièrement des coupures).
Lorsque j'ouvre ma session SSH et que je lance un programme qui peut prendre plusieures heures et que j'ai une coupure internet sur mon PC perso, ma connexion ssh se coupe et si je me reconnecte après, j'obtiens une nouvelle session, donc l'application ne s'affiche plus sur mon écran.
J'aimerai un moyen d'ouvrir une session qui ne se referme pas en cas de déconnexion (sauf si je le souhaite).
J'utilise PuTTy comme client ssh, si vous avez une idée, je serai heureux de la connaitre :) .
Merci !
# screen
Posté par Enerian . Évalué à 7. Dernière modification le 11 août 2016 à 17:34.
Bonjour,
Tu peux installer screen sur le serveur cible. C'est un logiciel qui te permet de détacher ta session du prompt interactif que tu as ouvert.
Utilisation :
- créer un screen : screen -S NOM_DU_SCREEN
- quitter un screen : CTRL+ALT+D
- se repositionner sur le screen : screen -r NOM_DU_SCREEN
- lister les screen : screen -list
Donc pour ton cas d'usage, tu peux :
- lancer ta connexion SSH
- créer un screen via screen -S
- lancer ta commande
- quitter le screen via CTRL+ALT+D
- exit ta session
Et quand tu veux consulter l'avancement, tu te re-connectes et tu rattache le screen avec screen -r
[^] # Re: screen
Posté par NeoX . Évalué à 2.
je ne sais plus pourquoi mais avec screen j'utilisais les options RdS
le reste ne change pas
[^] # Re: screen
Posté par g.madru . Évalué à 1.
Bonsoir, merci des reponses rapides :).
Mais si je ne quitte pas le screen proprement? en cas de coupure brusque de la liaison ssh ? le screen tourne encore ?
[^] # Re: screen
Posté par NeoX . Évalué à 2.
oui, c'est fait pour, pareil avec tmux
il faut un vrai ordre "logout/exit ou ctrl+d" pour quitter screen ou tmux
# tmux
Posté par NeoX . Évalué à 3.
moins courant que screen mais qui permet plus de choses,
tu as tmux
ca permet de faire comme screen (ouvrir un terminal, le perdre et se rattacher dessus)
mais aussi de splitter ce terminal pour en faire 2, 3, ou simplement de faire plusieurs "onglet".
perso au bureau je n'utilises plus que lui, à la place de Terminator.
je demarres donc un seul terminal, meme basique, et je lances tmux dedans.
Ctrl+b est là combinaison magique.
Ctrl+b+? pour obtenir l'aide (esc pour en sortir)
Ctrl+b+d pour detacher le tmux,
tmux attach
pour se reconnecterCtrl+b+% pour faire un split gauche/droite
Ctrl+b+" pour faire un split haut/bas
Ctrl+b+, pour renommer l'onglet sur lequel tu es.
et la synchro entre les terminaux
Ctrl+b+: pour ouvrir la commande tmux, et taper
set sync
pour l'activer, refaire la meme commande pour le desactiver.[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
# Byobu
Posté par quent57 . Évalué à 1.
Et sinon il y a byobu, une sorte de frontend a tmux ou screen !
Il permet d'utiliser des raccourcis via les touches F au lieu des ctrl-x.
Par exemple :
F2: Créer un nouvel onglet
F3: Aller sur l'onglet précédent
F4: Aller sur l'onglet suivant
F6: Se détacher de la session byobu
F7: Entrer dans le mode "scrollback/search", il permet de naviguer et de chercher dans l'historique
F8: Renommer l'onglet
F9: Configuration de Byobu
[^] # Re: Byobu
Posté par NeoX . Évalué à 2.
et ca marche bien avec les claviers portables qiu font que les touches Fx sont des touches multimedia, et il faut faire Fn+F2 pour creer un nouvel onglet ?
seulement ca ne repond pas à son besoin, il lui faut un outil en ligne de commande, qu'il va pouvoir lancer sur le serveur sur lequel il se connecte en ssh
pour recuperer la session là ou elle en est quand il perd et retrouve la liaison.
[^] # Re: Byobu
Posté par quent57 . Évalué à 1.
Pour les claviers de portable comme ca, aucune idée.
Sur mes PCs portables, les touches F sont accessibles directement, et je dois utiliser Fn pour avoir les touches multimédia.
Sinon ca correspond bien a la demande,
J'ai peut etre mal choisi mon mot "frontend", mais c'est bien un outils en ligne de commande, et ca permet de récupérer sa session.
Lancer une première fois byobu crée une session (par exemple, avec le backend screen :
byobu-screen -S pseudo
).Ensuite on peut se déconnecter (F6) en laissant byobu tourner en tache de fond.
Enfin, on peut revenir sur sa session avec
byoby-screen -r pseudo
.# Un peu hors sujet : Mosh
Posté par Flyounet (site web personnel) . Évalué à 4.
Pour ceux qui n'éteigne jamais leur machine, ça fait aussi l'affaire.
Dans mon cas, mon portable se connecte à un serveur en utilisant mosh, puis que je passe en veille, que je change de réseau (d'un wifi vers un autre, ou en passant par mon opérateur 3G/4G), je ne perds plus ma session.
Quelques infos sur mosh :
- l'ouverture de session se fait au travers de SSH qui lance le server mosh,
- tout le reste de la communication s'effectue au travers de mosh (en UDP et plus TCP).
Le plus gros problème (tout est relatif) pour moi est le serveur qui reste à tourner si le client a été tué.
Depuis presque 3 ans que je l'utilise, je n'ai dû ouvrir qu'une quinzaine de sessions (un reboot tous les 6 mois, ça suffit).
Bien sûr, je mixe avec screen…
N.B. : J'avais prévenu c'est un peu HS.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.