Ceci est une ancienne révision du document !



Tunneliser une connexion VNC via SSH

Le tutoriel ci-dessous va vous permettre de prendre le contrôle d'une machine distante via ssh. Nous créerons à cet effet un lanceur qui sera inclus dans le menu principal. L'intérêt de l'utilisation de X4vncviewer en lieu et place de vinagre (inclus dans ubuntu depuis 8.04) est l'option -via. Celle-ci permet à vncviewer de se connecter directement en SSH. Cette méthode permet de sécuriser l'accès VNC classique hautement intrusif de l'extérieur.

On doit d'abord créer les clés sur le ou les postes clients avant de les exporter sur le ou les ordinateurs auxquels on veut accéder.

paquets nécessaires pour ce tutoriel:

sur le poste client:

sur le poste serveur


La méthode de connexion SSH choisie pour ce tutoriel est celle de l'Authentification par clé publique/privée. De cette manière, il faut être en possession de non plus une mais de deux informations pour se connecter (avoir la clé privée & connaître le mot de passe de cette clé). Le type de clé utiliser ici est de type dsa 1024 bits.

Ceci peut permettre par exemple :

  • à un admin de se connecter à des centaines de machines sans devoir connaître des centaines de mots de passe différents ;
  • de ne pas avoir un mot de passe à saisir toutes les 2 minutes (en utilisant ssh-agent).
Au mois de Mai 2008 a été découvert une faiblesse dans la génération des clés par OpenSSL des packages Debian et dérivés tels qu'Ubuntu. Si vous avez généré vos clés sur Ubuntu entre 2006 et Mai 2008, il faut régénérer de nouvelles clés après avoir mis a jour le système…

À moins que vous n'ayez déjà un couple de clés, vous devez d'abord en créer. Tapez :

ssh-keygen -t dsa

Il vous sera alors demandé où sauver la clé privée (acceptez juste l'endroit par défaut, et ne changez pas le nom par défaut) puis de choisir une passphrase. La passphrase est employée pour chiffrer votre clé privée. Toute personne qui obtiendrait l'accès à votre clé privée (non protégée) aurait vos permissions sur d'autres ordinateurs. Veuillez prendre un instant et choisissez une très bonne passphrase.

Votre clef publique a été créée avec la nouvelle clé privée. Elles sont localisées dans le dossier caché « ~/.ssh/id_dsa.pub »(clé publique) et « ~/.ssh/id_dsa »(clé privée) .

Cette clé privée ne doit jamais être divulguée en dehors du poste client. Elle est la seule garante de la sécurité de votre liaison SSH. Seule la clé publique doit être distribuée sur les postes auxquels vous souhaitez accéder.

Fichier de configuration SSH-client

Editez le fichier de configuration SSH client :

sudo gedit /etc/ssh/ssh_config

Décocher le # présent devant PasswordAuthentication et passer la valeur à no (ceci exclut l'authentification par mot de passe). Faîtes de même avec Protocol pour qu'il ne reste que Protocol 2 (le protocole 1 des clés RSA ou DSA est à proscrire car moins sécurisé)

Relancez le client SSH afin de prendre en compte les modifications avec la commande:

$ sudo /etc/init.d/ssh restart

Installation de xvnc4viewer

Enregistrez sur le ou les postes auxquels vous souhaitez accéder la clé publique copiée de votre fichier caché « ~/.ssh/id_dsa.pub ». Vous devez l'enregistrez dans le fichier caché « ~/.ssh/ » du poste serveur. Puis renommez sur le poste serveur ce fichier en authorized_keys2 (le 2 signifie qu'on souhaite bénéficier du protocole SSH2). Vous vous retrouver alors avec le fichier caché « ~/.ssh/authorized_keys2 »

Le fichier authorized_keys2 doit comporter la clé publique SSH sur une seule ligne. Veuillez ouvrir ce fichier dans l'éditeur (sudo gedit ~/.ssh/authorized_keys2) et assurez vous que la clé tient sur une seule ligne. Si ce n'est pas le cas veillez à décocher la case "activer le retour à la ligne" dans edition/préférences onglet affichage de l'éditeur. Puis enregistrez et fermez la fenêtre.

Vous pouvez diffuser cette clé par le moyen de votre choix (copie par clé usb, envoi email…)

Editez le fichier SSH-serveur:

sudo gedit /etc/ssh/sshd_config

Wiki encore en construction…

contributeurs: djoser,

  • ssh_vnc.1236520557.txt.gz
  • Dernière modification: Le 18/04/2011, 14:52
  • (modification externe)