Voilà la suite de mon billet précédent pour les plus chevronnés sur la question de la sécurité : sécuriser une connexion VNC.

L’utilisation de tunnel SSH peut se faire avec la commande « ssh » sous Linux et mac. Pour windows, Putty fait très bien l’affaire.

Voici un schéma explicatif :

tunnel ssh vnc

On voit en rouge la connexion non sécurisée directement au service VNC. En bleu, on distingue la connexion sécurisée.

Linux et Mac

Il suffit d’utiliser cette commande sous Linux ou Mac pour faire passer une connexion VNC (ou autre) dans un tunnel SSH :

$ssh -l utilisateur -L 44444:localhost:5901 192.168.1.10
  • c’est l’option L qui permet de créer le tunnel ssh
  • 44444 sera le nouveau port à utiliser sur sa machine locale
  • localhost dans ce cas-ci est la machine à atteindre à partir du serveur distant 192.168.1.10
  • 5901 est le port de la machine à atteindre pour la connexion VNC (écran :1), dans ce cas on travail sur localhost car c’est la même machine
  • 192.168.1.10 est l’IP de la machine distante ayant sshd (elle pourrait être différente de la machine à atteindre dans un autre cas)

Note : il faut évidement avoir créé une session graphique VNC sur la machine distante pour s’y connecter

En ayant installé un logiciel vncviewer, vous vous connectez sur votre localhost sur le port local 44444 :

$vncviewer localhost:44444

Windows

L’opération se déroule aussi en deux étapes :

Démarrer Putty

Vous naviguez dans la catégorie : Connection > SSH > Tunnels.
La zone que l’on recherche est appelée « Add new forwarded port: ».
Il faut indiquer le port à créer sur la machine local (44444) dans le champs « Source port », l’adresse IP de la machine distante ainsi que le port de son écran virtuel (192.168.1.10:5901) dans le champs « Destination ». Il faut vérifier que « Local » est sélectionné.
Puis vous ajoutez le tunnel en cliquant sur « Add ».

Tunnel via putty

Démarrer un client VNC

Vous vous connectez au port créé sur la machine locale via un client VNC (127.0.0.1:44444). Tous ceux du marché peuvent faire l’affaire, mais j’ai une préférence pour UtraVNC.

Conclusion

Vous êtes maintenant protégé des « regards indiscrets » lors du remote control de votre machine 🙂