Cookie

VNC sur SSH pour des connexions sécurisées

Publié par TheJoe sur

Temps de lecture estimé: 2 minutes

Attention


Cet article a été publié il y a plus d'un an, il peut y avoir des développements été.
S'il vous plaît prendre en compte.

Aujourd'hui, nous voyons comment contrôler une machine distante via une interface graphique avec VNC via un tunnel SSH sécurisé.

Pour ceux qui ne savent pas, en un mot, VNC (Virtual Network Computing) est un système d'affichage à distance qui vous permet de voir un environnement “bureau” (GUI) fonctionnant non seulement sur la machine sur laquelle il fonctionne, mais partout depuis internet depuis une grande variété d'architectures.

SSH (Enveloppe de protection) il s'agit plutôt d'un programme permettant de se connecter et d'exécuter des commandes sur une machine distante. La communication s'effectue de manière cryptée (tunnelisation) entre deux hôtes peu fiables sur des réseaux même différents. Les connexions X11 et les ports TCP/IP peuvent être acheminés via SSH.

Et c'est précisément X11 que nous souhaitons aborder dans le tunnel SSH. De cette façon, nous aurons une connexion X11 non sécurisée dans un tunnel SSH sécurisé (sécuriser toute l’opération).

Au final ce n'est pas une opération complexe. Nous devons demander à SSH de créer un tunnel local qui transmet localhost sur le port 5901 sur le même port sur une machine distante, mais via le port SSH par défaut (22). La condition essentielle est donc l'accès à la machine distante via le port 22. Faisons attention, puis, aussi pour redirection de port sur le routeur, à pare-feu physiques et à tout logiciel pare-feu (iptables) installé sur les clients et les serveurs. Sans, la procédure ne peut pas fonctionner.

Ce qui est necessaire?

Sur la machine locale:

  • OuvertSSH
  • VNC Viewer (n'importe quel visualiseur VNC)

Sur la machine distante:

  • Serveur OpenSSH
  • Serveur VNC

L'installation est très basique. Pour Debian et ses dérivés:

~# apt install openssh vnc-server vnc-viewer

Dérivé de RedHat:

~# yum install openssh-server openssh-clients vnc-server vnc-viewer

Nous pouvons utiliser n'importe quel visualiseur VNC. Je préfère utiliser le viewer classique présent dans les dépôts.

Regardez ici:  Puredyne: Une distribution pour les artistes, par des artistes

Créer le tunnel SSH

La première chose à faire est de créer la connexion cryptée qui achemine les paquets depuis localhost (porta 5901) tous les hôtes à distance (porta 5901) à travers la porte 22. Nous faisons cela en une seule commande:

~$ ssh -L 5901:localhost:5901 user@REMOTE_IP

Avec user nous voulons dire l'utilisateur existant sur la machine distante, avec REMOTE_IP nous entendons l'adresse IP distante de la machine à laquelle nous voulons nous connecter. Attention: root n'est pas toujours configuré pour accepter les connexions SSH entrantes.

Si c'est la première fois que vous vous connectez via SSH à cet hôte, il vous sera demandé si vous souhaitez ajouter cet hôte particulier à la liste des hôtes connus.: ~/.ssh/known_hosts.

À ce stade, nous devons saisir le mot de passe de l'utilisateur enregistré sur la machine distante à laquelle nous voulons nous connecter..

Pour une connexion encore plus sécurisée il serait conseillé d'utiliser l'authentification SSH sur les clés. Peut-être que j'en parlerai dans un article plus tard.

Connectez le client VNC

Nous devons maintenant activer le client VNC. Comme mentionné, peu importe celui que vous utilisez, ce qui compte, c'est l'adresse que vous utilisez pour établir la connexion. Au lieu d'écrire l'IP de la machine distante, nous devrons écrire localhost:5091. C'est parce que nous avons déjà créé un tunnel à partir du client:5901 le serveur:5901. Une fois connecté à localhost, le client VNC utilisera le tunnel SSH nouvellement créé pour se connecter au serveur sur le port. 5901.

Bien qu'il existe des clients qui intègrent la fonction SSH dans la visionneuse VNC, il s'agit de la méthode la plus simple pour comprendre ce qui se passe lorsque nous transmettons un flux de données via SSH..


TheJoe

Je garde ce blog comme un hobby par 2009. Je suis passionné de graphisme, la technologie, logiciel Open Source. Parmi mes articles ne sera pas difficile de trouver de la musique, et quelques réflexions personnelles, mais je préfère la ligne directe du blog principalement à la technologie. Pour plus d'informations me contacter.

0 commentaires

Laisser un commentaire

Espace réservé d'avatar

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *

Ce site utilise Akismet pour réduire le spam. Découvrez comment vos données de commentaire est traité.