J'ai l'impression que cela expose bien plus de code que d'avoir uniquement SSH ouvert sur le PC client (dans mon tutoriel, VNC n'écoute que sur localhost).
Autre point problématique, le mot de passe est transmis en clair.
avec novnc, VNC peut n'écouter que sur localhost aussi.
novnc c'est un client vnc en javascript qui tourne donc localement dans ton navigateur et accède au serveur vnc via un websocket. pour ce faire coté serveur on fait donc tourner un petit daemon qui fait une sorte de proxy vnc/websocket (
https://github.com/novnc/websockify )
client http ou https -> websockify -> protocol vnc -> vnc server
websockify a une option pour passer en https car effectivement si on n'a pas de vpn il faut chiffrer sinon le mot de passe vnc passe en clair.
Dans tous les cas, le problème de ton tuto a mon avis c'est l'étape 3: ouvrir un port dans la box. que ce soit pour ssh ou pour novnc. Ce n'est pas forcement toujours possible ou même souhaitable.
Il y a plusieurs solutions:
- un vpn P2P avec 'NAT traversal' comme tailscale.
- un produit comme TeamViewer
- initier le tunnel SSH depuis le serveur VNC mais ca suppose la présence d'un humain devant pour faire cela et ca suppose que le client VNC soit un serveur SSH accessible (on déplace donc le probleme d'ouverture du port dans la box coté client). on peut éventuellement faire un script qui ouvre le tunnel au boot et le maintient (keepalive) mais c'est pas forcement souhaitable.
- utiliser upnpc pour ouvrir le port via UPnP-IGD : pas forcement possible ou actif sur toutes les box/routeurs.
- autre solution que je ne connais pas
Pour le client VNC Window 10 j'utilise l'extension "VNC Viewer for Google Chrome" qui marche encore sinon y'a l'exécutable portable (fichier exe unique donc) VNC Viewer de RealVNC:
https://www.realvnc.com/fr/connect/download/viewer/ (choisir 'standalone EXE ..').
Il y a également TigerVNC (
https://github.com/TigerVNC/tigervnc ) qui est open source et un fork de TightVNC. Binaire portable Windows:
https://bintray.com/tigervnc/stable/tigervnc/1.11.0 (le dernier tout en bas)).
Je n'utilise pas TightVNC.