web-dev-qa-db-fra.com

Comment accéder à une machine via VNC en utilisant SSH?

Nous avons plus de 500 systèmes fonctionnant sous Ubuntu dans notre bureau. Et parfois, après l'installation, nous oublions d'activer le Bureau à distance. Nous n’avons donc pas pu contrôler ce PC à distance. Existe-t-il un moyen d'accéder à cette machine à distance à l'aide de SSH? Coz ssh a été installé sur cette machine distante. De plus, si cette machine était dans l'écran de connexion, nous ne pouvions pas voir via vnc. Je suppose que SSH sera une bonne solution. Quelqu'un peut-il m'aider? Merci d'avance.

4
karthick87

Utilisez SSH pour accéder à la machine. Demandez à gnome de ne pas demander, "Êtes-vous sûr?" après avoir activé l'accès au bureau distant. Activez ensuite l'accès à distance.

gconftool-2 -s -t bool /desktop/gnome/remote_access/Prompt_enabled false
gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true

Vous pouvez aussi créer des scripts pour cela, peut-être aussi /usr/local/bin/start-remote-desktop.sh.

Utilisez votre éditeur préféré sur vim si vous aimez ...

Sudo vim /usr/local/bin/start-remote-desktop.sh

Le contenu de ce fichier:

#!/bin/bash
gconftool-2 -s -t bool /desktop/gnome/remote_access/Prompt_enabled false
gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true

Rendez-le exécutable:

Sudo chmod 0755 /usr/local/bin/start-remote-desktop.sh

Ajoutez-le à votre configuration utilisateur par défaut:

Sudo sh -c 'echo "/usr/local/bin/start-remote-desktop.sh" >> /etc/skel/.profile' 

En ce qui concerne le facteur humain dans le maintien de 500 postes de travail, vous aimeriez utiliser CloneZilla . Le serveur CloneZilla fournit des images préconfigurées pour les postes de travail pouvant être installés sur le réseau. Vous pouvez même les multidiffuser pour que, en quelques heures à peine, tous les postes de travail puissent être imagés avec une configuration commune, la même version, etc. Il existe un bon tutoriel sur dedoimedo.com .

2
user8290

Je suis fan de x11vnc. Il s’agit d’un simple serveur VNC et vous n’aurez pas à vous soucier des paramètres de Gnome ou de 500 pare-feu. Il vous suffit d’installer x11vnc sur tous vos ordinateurs (avec une marionnette ou tout ce que vous utilisez pour le contrôle en masse).

Ensuite, à partir de votre ordinateur local, lancez:

ssh user@Host -L 5900:localhost:5900 "x11vnc -display :0 -noxdamage"

Évidemment, permutez user@Host pour le nom d'utilisateur et le nom d'hôte/IP de l'ordinateur distant.

Ensuite, utilisez un client VNC de votre choix pour vous connecter à localhost:5900. La commande SSH démarre un serveur vnc sur l’ordinateur distant, puis redirige ce port par SSX. Vous n'avez pas besoin d'ouvrir de ports (tant que vous pouvez déjà utiliser SSH).

Si vos paramètres d’affichage sont amusants sur vos ordinateurs, il est préférable de laisser le segment -display :0 dans la commande SSH. x11vnc tentera alors automatiquement de trouver le bon affichage.

Cette méthode est meilleure que de simplement utiliser un serveur VNC sur chaque machine, car vous ne ralentirez pas toutes les machines tout le temps. C'est également un risque de sécurité beaucoup moins important car l'utilisateur SSH est la seule personne qui va voir le serveur VNC; Toujours visibles, les serveurs VNC toujours actifs sont des hacks cibles populaires.

5
Oli

Je ne suis pas sûr de ce que vous demandez. Si vous êtes à l'aise pour administrer une machine à partir de la ligne de commande, ssh est tout ce dont vous avez besoin. Si vous voulez une interface graphique, cependant ... Vous pouvez installer et démarrer un serveur VNC autonome (tightvncserver ou vnc4server) sur ssh - un serveur qui ne contrôle pas la session de l'interface graphique existante, mais en démarre un nouveau, visible uniquement via VNC.

0
Marius Gedminas