web-dev-qa-db-fra.com

Différences entre VNC et SSHX

Pourquoi utiliseriez-vous VNC (ou pour cette affaire NX) au lieu d'utiliser simplement ssh -X (-Y). J'ai lu que VNC utilise moins de bande passante, mais y a-t-il d'autres différences/avantages avec un outil respectif?

29
The Silent Boatman

Outre les problèmes de bande passante et de latence (pouvant varier un peu), les grandes différences sont les fonctionnalités qu'il fournit.

VNC exporte une session entière, desktop et tous, tandis que SSH exécutera un seul programme et montrera ses fenêtres sur votre poste de travail.

Le serveur VNC exporte une session qui survit même lorsque vous déconnectez votre écran et que vous pouvez vous reconnecter ultérieurement avec toutes les fenêtres ouvertes, etc. Ceci n'est pas possible avec un tunnel SSH X, puisque lorsque votre serveur X décède, les fenêtres disparaissent. .

30
dkagedal

ssh -X redirige les commandes x11 sur votre serveur X local. Donc, c'est comme si vous exécutez le programme localement, quand cela fonctionne vraiment sur l'ordinateur à l'autre extrémité. C'est très lent, car il utilise beaucoup de bande passante. (C'est ce que les gens parlent quand ils disent que x11 est "réseau transparent".)

VNC et d'autres applications de bureau à distance permettent à l'autre ordinateur de traiter tous les graphiques dessinant et ainsi de suite et de capture, en substance, une capture d'écran et l'envoie à votre ordinateur. Cela peut sembler beaucoup plus rapide, car beaucoup moins d'informations sont nécessaires pour tout afficher. Cependant, il envoie également tout le bureau, plutôt qu'une seule application.

Je ne recommande pas d'utiliser ssh -X Sur Internet pour une raison simple: elle sera Utilisez toutes vos largeurs de bande passante disponible. C'est assez utile sur un réseau local, à mon avis, donc si vous avez juste besoin d'une application et que vous ne voulez pas avoir à gérer tout un bureau, c'est un bon moyen d'y aller. Sinon, utilisez simplement VNC.

9
greyfade

VNC partagera tout un bureau à partir d'un système distant. Il nécessite un bureau à part entière sur le système distant.

sSHX vous permet d'exécuter une application Simple X à partir d'un serveur distant. Le système distant n'a pas besoin d'exécuter un bureau complet et vous n'avez souvent besoin que d'une poignée de packages à installer sur le système distant.

ssh -X Peut être utile lors de l'installation de packages logiciels complexes sur une connexion distante. Certains produits logiciels peuvent utiliser un programme d'installation de GUI (base de données Oracle, etc.). Je ne veux pas installer et un bureau GNOME à part entière sur mon serveur distant. Donc, vous installez un ou deux paquets X11 (Xauth?) Sur le serveur distant et permettez à DBA d'exécuter l'installateur Oracle à distance en utilisant quelque chose de simple comme 'SSH -X/Media/Cdrom/Oracle-Installer'.

4
Stefan Lasiewski

Il existe également un avantage de sécurité lors de l'utilisation de VNC ou de NX (X2GO). Une application malveillante ne peut pas prendre des captures d'écran ou utiliser un keylogger pour enregistrer les touches de votre bureau réel, tout en utilisant SSH avec le transfert X11, même si l'application malveillante s'exécute en arrière-plan.

Si vous utilisez SSH -X (OR -Y), vous devez faire confiance à l'application (E.G. Open Source APP propose d'un package de distribution de Linux officiel) ou d'éviter de faire des travaux sensibles lors de l'exécution.

J'ai pu vérifier cela avec ces outils multiplate-forme et open source (testé dans un conteneur LXC):

https://github.com/lxqt/screengrab

https://github.com/giaComolaw/keylogger

1
baptx