Un des soucis avec screen est qu'il supporte le multi-utilisateur, mais on se retrouve assez vite embêté si les réglages des émulateurs de terminaux sont différents (fenêtres qui apparaissent tronquées), et c'est potentiellement un peu pénible à mettre en place (pas utilisé récemment, mais je crois me souvenir que screen a besoin de droits supplémentaires pour autoriser :multiuser on, :acladd $user, etc.).
Ce qui a bien marché dans le cadre d'un dépannage lors d'une visio de type LUG :
L'utilisateur se connecte sur une machine extérieure en SSH et établit un tunnel SSH dans le sens inverse. L'accès à cette machine extérieure peut être restreint par exemple en filtrant sur l'adresse IP actuelle de l'utilisateur concerné. L'accès peut être limité par diverses options de configuration SSH spécifiques à cet utilisateur. L'utilisateur peut même être jetable.
Le débogueur se connecte sur cette même machine et utilise le tunnel SSH dans le sens inverse.
Le débogueur partage son écran via l'outil de visio choisi.
Il suffit à l'utilisateur de couper sa connexion SSH vers la machine extérieure pour couper l'accès au débogueur, ce qui limite l'aspect « le débogueur a un accès permanent à la machine déboguée ». Bien évidemment, rien n'empêche le débogueur d'exploiter le tunnel existant pour déployer (potentiellement de manière automatisée, depuis une autre console non partagée par visio, etc.) une payload, mais bon...
Pour le débogueur, une fois connecté sur la.machine.ssh :
ssh -p 12345 utilisateur@localhost
et vérifier l'empreinte de clé comme habituellement.
Si tu veux tout de même partager une session screen, la démarche sera similaire, avec soit l'utilisateur guest soit toi qui créez une session screen et l'autre qui le rejoint. Puis utiliser le tunnel inverse depuis cette session. L'avantage dans ce cas est que l'utilisateur peut taper son propre mot de passe, mais j'imagine que le débogueur, ayant accès à la machine, doit pouvoir épier la saisie du mot de passe...
[^] # Un bastion avec SSH ?
Posté par Cyril Brulebois (site web personnel) . En réponse au message Prise de main à distance. Évalué à 5. Dernière modification le 06 janvier 2021 à 14:13.
Un des soucis avec
screenest qu'il supporte le multi-utilisateur, mais on se retrouve assez vite embêté si les réglages des émulateurs de terminaux sont différents (fenêtres qui apparaissent tronquées), et c'est potentiellement un peu pénible à mettre en place (pas utilisé récemment, mais je crois me souvenir quescreena besoin de droits supplémentaires pour autoriser:multiuser on,:acladd $user, etc.).Ce qui a bien marché dans le cadre d'un dépannage lors d'une visio de type LUG :
Il suffit à l'utilisateur de couper sa connexion SSH vers la machine extérieure pour couper l'accès au débogueur, ce qui limite l'aspect « le débogueur a un accès permanent à la machine déboguée ». Bien évidemment, rien n'empêche le débogueur d'exploiter le tunnel existant pour déployer (potentiellement de manière automatisée, depuis une autre console non partagée par visio, etc.) une payload, mais bon...
Pour établir le tunnel, par exemple :
Pour le débogueur, une fois connecté sur
la.machine.ssh:et vérifier l'empreinte de clé comme habituellement.
Si tu veux tout de même partager une session
screen, la démarche sera similaire, avec soit l'utilisateurguestsoit toi qui créez une sessionscreenet l'autre qui le rejoint. Puis utiliser le tunnel inverse depuis cette session. L'avantage dans ce cas est que l'utilisateur peut taper son propre mot de passe, mais j'imagine que le débogueur, ayant accès à la machine, doit pouvoir épier la saisie du mot de passe...Debian Consultant @ DEBAMAX