[recherche logiciel] aide à distance

Bonsoir,

J’aurais besoin de vos conseils pour un logiciel d’aide à distance.
Voilà la situation (qui se produit fréquemment) : Mon frangin a un souci sur son ordi. Il me demande de l’aide. Il peut alors me permettre l’accès à son pc, pour que je puisse à distance bidouiller sa debian.

Je me doute que le ssh soit possible pour ça, mais certaines applications requièrent des manipulations graphiques.

Qu’est ce que je pourrais leur installer pour faire ça, sachant qu’il faut que ce soit facile pour le demandeur d’aide ensuite, car ça peut être maman qui a besoin d’un coup de main :wink: ?

Merci d’avance pour vos propositions.

:006

x11vnc côté serveur (le PC à dépanner).
xtightvncviewer côté client (le PC que tu utilises).

Pour faciliter les manips il vaut mieux faire un reverse-VNC (c’est le serveur qui te contacte et non l’inverse, ce qui améliore également beaucoup la sécurité) :
[ul][li] crée toi un domaine dyndns ou équivalent si ton IP est variable[/li]
[li] ouvre le port 5500 sur ton PC / ta box (NAT)[/li]
[li] utilise le viewer VNC en mode listen :

$ cat >bin/support-vnc-listen <<EOF #!/bin/sh vncviewer -bgr233 -listen EOF $ chmod 755 bin/support-vnc-listen[/li]
[li] sur le PC à dépanner, crée un script dans /usr/local/bin dont le nom est facile à retenir (genre “vnc-helpdesk”) :

[code]# cat >/usr/local/bin/vnc-helpdesk <<EOF
#!/bin/sh
x11vnc -rfbport 0 -connect_or_exit tondomainedynamique.dyndns.org (ou ton IP fixe)
EOF

chmod 755 /usr/local/bin/vnc-helpdesk[/code][/li][/ul]

Une fois tout ça mis en place, tu n’as plus qu’à lancer support-vnc-listen de ton côté (ou peu importe le nom que tu lui as donné) et demander à la personne dépannée de lancer vnc-helpdesk.
Testé et approuvé quasi-quotidiennement, avec des utilisateurs très lambda… :wink:

Cerise sur le gâteau, tu peux aussi dépanner des utilisateurs Windows en leur faisant installer RealVNC (forcément sous Windows c’est différent, demande moi la procédure si nécessaire).

ssh -X ?

Ça ne permet pas de faire exactement les mêmes choses qu’un VNC (notamment tout ce qui est accès au bureau, menu des applications et tout le tralala) et, d’expérience, c’est énormément plus lent que VNC.

La solution la plus facile à mettre en oeuvre compatible Linux, Windows, Mac sans ouverture de port spécifique c’est Teamviewer, mais il n’est pas libre ! (gratuit en licence non-professionnelle)

Bonjour,

Tu peux regarder Gitso (code.google.com/p/gitso/), la licence est GNU/gpl.
Il y a un deb (pour Ubuntu), je l’ai testé rapidement et cela me semble pas trop mal.

Merci beaucoup pour ces premières pistes! :smiley:

La solution du VNC semble la meilleure. (gitso fait la même chose que syam décris, mais en graphique). Cependant, comme je suis la plupart du temps connecté en hotspots (celui de la fac, ou freewifi), je ne peux pas ouvrir les ports comme je le souhaite… Je ne suis pas sûr que ça fonctionne du coup.

Pour ssh -X, c’est lent au point d’être inutilisable?

Extrêmement chiant avec une ligne adsl 8M/1M, j’ai utilisé ça pour dépanner mon papa pendant (trop) longtemps.
Je te conseille également la solution VNC avec couche SSL sur un port élevé.

Dans ce cas ne fais pas un reverse VNC, mais un VNC standard (le serveur écoute, et le viewer se connecte – par contre du coup il faut une authentification correcte, celle de VNC est pas top du tout donc le mieux ça reste un port forwarding SSH).

Pas totalement inutilisable, mais extrêmement pénible tout de même.

Pour ceux qui ont du mal avec ssh -X vous avez essayé avec -CX ?

$ cat .ssh/config Compression yes ForwardX11 yes ForwardAgent yes
:wink:

Dans ce cas ne fais pas un reverse VNC, mais un VNC standard (le serveur écoute, et le viewer se connecte – par contre du coup il faut une authentification correcte, celle de VNC est pas top du tout donc le mieux ça reste un port forwarding SSH).

Pas totalement inutilisable, mais extrêmement pénible tout de même.[/quote]
Du coup ça devient pas mal technique. Je suppose que je peux trouver de l’aide tout seul, mais vous avez peut-être un tuto sous le coude à proposer?
Je m’y met pendant la semaine de révision à bidouiller tout ça :stuck_out_tongue: .

La seule chose à savoir, c’est comment configurer un serveur SSH sur le poste que tu veux dépanner (comme d’hab, il est recommandé d’interdire l’authentification par mot de passe ainsi que la connexion root, et d’utiliser un port non-standard ainsi qu’une authentification par clés asymétriques >= 4kbit). Du coup le seul port à NATer sur la box de ta victime est celui utilisé pour SSH.

Côté VNC c’est tout simple :

[quote=“man x11vnc”]By default x11vnc will not allow the screen to be shared and it will exit as soon as the client disconnects. See -shared and -forever below to override these protections. See the FAQ for details how to tunnel the VNC connection through an encrypted channel such as ssh(1). In brief:

$ ssh -t -L 5900:localhost:5900 far-host ‘x11vnc -localhost -display :0’
$ vncviewer -encodings ‘copyrect tight zrle hextile’ localhost:0 [/quote]

Perso pour le viewer je n’ai jamais remarqué le besoin de l’option encodings (vu que VNC négocie cette option au mieux entre le serveur et le client), par contre comme je l’ai indiqué dans mon précédent message le -bgr233 est pas mal car il accélère beaucoup la vitesse (en réduisant l’affichage à 256 couleurs, on n’a rien sans rien…).

Autrement dit :

$ ssh -t -L 5900:localhost:5900 nom-de-l-utilisateur-distant@adresse-ip-ou-domaine-dynamique-du-pc-à-dépanner 'x11vnc -localhost -rfbport 5900 -display :0' $ vncviewer -bgr233 localhost
Le -display :0 de la première ligne est peut-être à adapter.

Du coup, sur la machine à dépanner, il faut ssh et vnc?

Installés oui, mais seul SSH écoute en permanence : le serveur VNC est lancé directement via la session SSH et se termine avec elle.

J’essayais de mettre ça en place ce soir, mais je galère sur un truc tout bête : dyndns. Au lieu de faire rentrer l’ip, qui pourra changer, je voulais la relier à un nom de domaine, mais on dirais que désormais dyndns font payer… :s
Vous avez une alternative?

Cherche mieux : leur interface est pourrie depuis quelque temps… effectivement ça donne l’impression qu’il faut payer mais il n’en est rien, l’option gratuite existe toujours.

$ ssh -t -L 5900:localhost:5900 nom-de-l-utilisateur-distant@adresse-ip-ou-domaine-dynamique-du-pc-à-dépanner 'x11vnc -localhost -rfbport 5900 -display :0' $ vncviewer -bgr233 localhost
Après test, cette méthode fonctionne plutot bien (juste l’option (bgr233 qui ne passe pas ???)

Par contre, lorsque je tente un ssh -X, je peux me connecter, mais rien ne se passe ensuite. Je suis sans doute un boulet, mais comment j’affiche le bureau distant avec juste ssh?

Sauf erreur de ma part (je n’ai jamais cherché à fond) ssh -X n’est pas fait pour afficher ce qu’il y a sur la machine distante mais pour pouvoir lancer des programmes X qui vont tourner sur la machine distante et s’afficher sur la tienne.
La différence est de taille : tu ne peux pas accéder à une appli déjà ouverte. Par contre, dans ta session SSH tu peux lancer une nouvelle appli qui du coup va s’afficher sur ton écran.

Ta description correspond en effet à ce qui se passe, merci. Après d’autres essais, ssh -X semble pas mal non plus, même si moins pratique. En tout cas la solution vnc et ssh fonctionne bien sur un réseau local, je considère donc le tout comme résolu, ça ne devrait pas être impossible en venant de l’extérieur.
Un grand merci à tous!