Prise de main à distance

De Wiki de la communauté Mandriva.


Attention !
Avant toute utilisation de méthode de connexion à distance, veuillez lire avec attention le chapitre Sécurité


Sommaire

Versions

Tuto utilisables sur les versions

Introduction

L'objectif de ce tutoriel est de présenter les différentes solutions de prise de main à distance :

  • de Linux vers Windows
  • de Linux vers Linux
  • de Windows vers Linux

Le serveur utilisé pour la prise en main à distance via le protocole VNC est x0rfbserver (dans sa version 0.6.1 pour Mandriva 2009.1). Ce serveur VNC est en ecoute sur le port 5900. Le site web de ce serveur est site web x0rfbserver

L'installation et la configuration du serveur TightVNC plus performant et récent, mais non installé en standard sur Mandriva, est aussi expliqué. Ce serveur VNC est en ecoute sur le port 5901. Le site web de ce serveur est site web tightvnc

La prise en main à distance est nativement intégrée dans le MCC comme indiqué par l'image ci-dessous :

Image:Prise_de_main_a_distance_1.png

Cette fonction de la Mandriva utilise le protocole Rfb (http://fr.wikipedia.org/wiki/Remote_Frame_Buffer)

Linux vers Linux

Préparation du serveur utilisant x0rfbserver

La préparation du serveur se fait comme indiqué ci dessous :

  • Dans le MCC/Administration en ligne cliquez sur Administration à distance (Linux/unix, Windows)
  • Sélectionnez SERVEUR
  • tapez votre mot de passe

Cela donne quelque chose comme ça:

Image:Prise_de_main_a_distance_2.png

Pour terminer cliquez sur Lancer le serveur. Une petite fenêtre apparaît en haut à gauche de l'écran. Cette fenêtre doit rester ouverte jusqu'à la fin de la prise en main (i.e. après que le client se soit déconnecté).

Note: Pensez à ouvrir le port 5900 en TCP si vous avez un pare-feu actif sur votre serveur Linux. MCC -> Securité -> Configurer votre pare-feu personnel -> Avancé -> Dans le champ "Autres ports", ajouter 5900/tcp. Puis faire OK puis encore Ok pour relancer le pare-feu Mandriva.

Préparation du serveur utilisant tightvnc server

Installation

TightVNC a besoin du paquetage x11-server-xvnc pour fonctionner

tightvnc server peut être installé via URPMI via la commande : urpmi tightvnc-server

ou manuellement via les commandes : rpm -ivh ./tightvnc-server-1.3.9-18mdv2009.1.i586.rpm ./x11-server-xvnc-1.5.99.903-1mdv2009.1.i586.rpm

Configuration du mot de passe

Configurer votre mot de passe via la commande vncpasswd comme ci-dessous (avec compte utilisateur normal, donc pas root:

[moncompte@localhost ~]$ /usr/bin/vncpasswd
Using password file /home/webadm/.vnc/passwd
Password: xxxxxxx
Verify: xxxxxx
Would you like to enter a view-only password (y/n)? n

où xxxxx est l'endroit où vous renseignez votre mot de passe


Configuration des paramètres du serveur VNC

Avec le compte root, editer le fichier /etc/sysconfig/vncservers avec un editeur de texte. Ajouter la ligne suivante dans ce fichier :

VNCSERVERS="1:moncompte:-geometry:1024x768:-depth:24:-rfbport:5900:"

où 
* la variable moncompte est le compte linux qui vous a servi a créer votre mot de passe
et le compte qui sera utilisé par le serveur VNC
* la variable geometry qui indique la taille de l'écran (valeurs possibles : 640x480, 800x600, 1024x768, 1280x1024 )
* la variable qui indique le nombre de couleurs utilisés par l'écran (valeurs possibles : 8 (256 couleurs), 16 (640000 couleurs), 24 ( 16 millions de couleurs)
* la variable rfbport indique le port d'écouter du serveur TightVNC (valeur 5900 par défaut)

Lancement du serveur VNC

Avec le compte root, lancez TightVNC server

[root@localhost ~]# /etc/rc.d/init.d/vncserver start
Lancement de VNC server : 1:webadm:-geometry:1024x768:-depth:24:-rfbport:5900 WARNING: initlog is deprecated and will be removed in a future release

New 'X' desktop is localhost:1

Starting applications specified in /home/moncompte/.vnc/xstartup
Log file is /home/moncompte/.vnc/localhost:1.log

                                                                [  OK  ]
[root@localhost ~]#

Paramètres utilisés par Xvnc de TightVNC:

[root@localhost tmp]# ps -edf | grep vnc
[root@localhost ~]# ps -edf | grep vnc
webadm    6166     1  1 18:25 pts/2    00:00:02 Xvnc :1 -desktop X -httpd /usr/share/vnc/classes -auth /home/moncompte/.xauthh8fQtU -geometry 1024x768 -depth 24 -rfbwait 120000 -rfbauth /home/moncompte/.vnc/passwd -rfbport 5900 -fp catalogue:/etc/X11/fontpath.d/ -kb -rfbport 5902

Arret du serveur VNC

[root@localhost ~]# /etc/rc.d/init.d/vncserver stop
Arrêt de VNC server : 1:moncompte:-geometry:1024x768:-depth:24:-rfbport:5900 WARNING: initlog is deprecated and will be removed in a future release
                                                                [  OK  ]

Connexion depuis le client

Attention l'ordre d'exécution des tâches est primordial. Le serveur doit être préparer avant de tenter de prendre la main depuis le client. La prise de main se fait comme suit :

  • Dans le MCC/Administration en ligne cliquez sur Administration à distance (Linux/unix, Windows)
  • Sélectionnez CLIENT
  • Indiquez l'adresse du serveur (adresse IP ou nom sur le réseau) et positionnez le numéro de session (Display Number) à 0 (valeur par défaut de x0rfbserver) ou autre valeur comme 1 (valeur par défaut de TightVNC serveur)
  • tapez votre mot de passe

Cela donne quelque chose comme ça:

Image:Prise_de_main_a_distance_3.png

Si vous souhaitez travailler en plein écran, cocher la case correspondante et finalement cliquez connecter

Windows vers Linux

Préparation du serveur (Linux) utilisant x0rfbserver

Appliquez les opérations du chapitre portant le même nom dans la partie Préparation du serveur utilisant x0rfbserver.

Préparation du serveur (Linux) utilisant TightVNC serveur

Appliquez les opérations du chapitre portant le même nom dans la partie Préparation du serveur utilisant tightvnc server .

Connexion depuis le client (Windows) utilisant TightVNC client

Pour se connecter depuis windows, nous allons utiliser un logiciel libre: TighVNC (http://www.tightvnc.com/).

Naviguer vers la page Download et télécharger TightVNC. La version "viewer" est largement suffisante et présente le gros avantage de ne pas nécessiter d'installation.

Après le téléchargement, décompressez le fichier et vous pouvez exécuter directement vncviewer.exe

Une fenêtre apparaît où vous pouvez tapez l'adresse du serveur (numéro IP ou nom réseau). Sélectionnez les performances de votre ligne réseau puis connect comme dans la fenêtre ci dessous:

Image:Prise_de_main_a_distance_4.png

Vous obtenez cette fenêtre dans laquelle vous tapez votre mot de passe puis OK

Image:Prise_de_main_a_distance_5.png

Chouette:

Image:Prise_de_main_a_distance_6.png

À noter !
La solution d'utilisation de TightVNC n'est probablement pas la meilleure: elle présente quelques artefacts graphiques (principalement problème de couleur), mais au moins a-t-elle le mérite de marche très facilement. Si un contributeur a une solution plus interessant qu'il ne se prive pas de la partager avec nous :-)

Connexion depuis le client (Windows) utilisant RealVNC client

Pour se connecter depuis windows, nous allons utiliser un logiciel propriétaire: RealVNC en version Free (http://www.realvnc.com/products/free/4.1/index.html). Elle libre d'usage chez le particulier ou en entreprise.

Aller sur la page de RealVNC 4.1.x Free pour aller ensuite jusqu'à la page de téléchargement de RealVNC via les liens. La version "VNC Free Edition Viewer for Windows" au format zip est largement suffisante et présente le gros avantage de ne pas nécessiter d'installation.

Après le téléchargement, décompressez le fichier et vous pouvez exécuter directement vnc-numero_de_version-x86_win32_viewer.exe

Une fenêtre apparaît où vous pouvez tapez l'adresse du serveur (numéro IP ou nom réseau) suivi apres : par le numéro de port d'écoute du serveur VNC (ici 5901 par défaut pour tightvnc). Le bouton options vous permet d'accéder aux paramètres du client VNC.

Image:RealVNC1.jpg

Vous obtenez cette fenêtre dans laquelle vous tapez votre mot de passe puis OK

Image:RealVNC2.jpg

Chouette:

Image:Prise_de_main_a_distance_6.png

À noter !

La solution d'utilisation de RealVNC est pas trop mal: elle ne présente pas de problème de couleur.

Apres la connection au serveur par RealVNC et en ayant la meme taille d'écran coté serveur et client, on peut utiliser la touche F8 pour passer en plein écran. Cela permet d'avoir une sorte de bureau à distance bien pratique pour travailler.

Linux vers Windows

Préparation du serveur (Windows)

Lancez l'application Propriétés du système (Icône Poste de travail, clic droit puis propriété ou icône panneau de configuration puis icône système).

Sélectionnez l'onglet Utilisation à distance puis cochez la case Autoriser les utilisateurs à se connecter à distance comme indiqué dans l'image suivante:

Image:Prise_de_main_a_distance_7.png


Connexion depuis le client (Linux)

La prise de main se fait comme suit:

  • Dans le MCC/Administration en ligne cliquez sur Administration à distance (Linux/Unix, Windows)
  • Sélectionnez Windows Terminal Services
  • Indiquez l'adresse du serveur (adresse IP ou nom sur le réseau)

Cela donne quelque chose comme ça:

Image:Prise_de_main_a_distance_8.png

Si vous souhaitez travailler en plein écran, cocher la case correspondante et finalement cliquez connecter

Par la suite vous obtenez une fenêtre où vous tapez votre login et votre mot de passe:

Image:Prise_de_main_a_distance_9.png

À noter !
Le login et le mot de passe doivent correspondre à ceux de votre configuration Windows et non ceux de votre configuration Linux
À noter !
Si à la suite du clic sur "connecter" il ne se passe rien, c'est que votre connexion n'est pas activable (serveur mal configuré, erreur dans le nom réseau,...)


Et normalement:

Image:Prise_de_main_a_distance_10.png


À noter !
A noter qu'il est possible d'ouvrir une session distante windows en ligne de commande avec l'utilitaire rdesktop
Image:Konsole.png
[utilisateur@ordi ~]$ rdesktop -u login -p password -g 1024x768 -T TITRE-FENETRE 192.168.0.104:3389

Sécurité

Le protocole Rfb n'est pas un protocole sécurisé par nature. Il est donc conseillé de l'utiliser dans un réseau local sécurisé.

Attention !
Surtout ne pas utiliser Rfb à travers Internet.

Il existe des méthodes de tunellisation permettant son utilisation à travers internet comme la connexion_à_distance_par_NX

Glossaire

client: machine de laquelle on travaille

serveur: machine sur laquelle on souhaite se connecter