Comment interfacer graphiquement avec un serveur sans tête?

42

J'ai un serveur de développement Ubuntu au travail. C'est un ancien serveur rack situé quelque part dans le cachot de la société, où personne ne se rend jamais. Cela ne peut fonctionner que sur un serveur dit sans tête (c'est-à-dire sans moniteur / clavier connecté et n'acceptant que les connexions réseau).

Évidemment, si vous avez juste besoin d’un accès terminal, ssh est plus que suffisant. Cependant, je souhaite également me connecter de temps en temps à l'interface graphique. Pour le moment, j'utilise la fonctionnalité VNC intégrée, mais je suis à peu près sûr que ce n'est ni la manière la plus efficace ni la plus sûre d'aborder ce problème.

J'ai fait quelques recherches sur la question mais je n'ai pas réussi à tirer des conclusions définitives. J'ai lu des articles sur la tentative de transfert de l'environnement X sur ssh, ce qui permettrait au moins de résoudre mes problèmes de sécurité. Quelqu'un peut-il partager ses expériences en la matière? Y a-t-il un autre moyen qui pourrait valoir la peine d'être examiné?

Je me connecte presque exclusivement à ce serveur à partir d'une machine Windows. Je ne sais pas si cela pourrait poser problème pour certaines des méthodes suggérées.

silvo
la source

Réponses:

20

Oui, la transmission X sur SSH est vraiment une belle chose. Il vous permet d'utiliser des applications graphiques sur chaque application et de gérer les fenêtres par votre propre environnement de bureau. Vous n'avez même pas besoin d'un environnement de bureau installé sur le serveur.

Vous devez cependant configurer quelques éléments d’authentification pour que cela fonctionne. Je crois que vous avez besoin de xauth pour cela.

C'est aussi beaucoup plus rapide que VNC. VNC a toujours été plutôt lente dans mon expérience.

Edit: Je n'ai aucune expérience en utilisant cette méthode via Windows, mais j'ai trouvé ce tutoriel pour vous si vous êtes intéressé.

DLH
la source
2
"ssh -X <serveur> <programme>" doit tout configurer (je n'ai jamais eu besoin de toucher moi-même xauth, bien qu'il ait besoin d'être installé pour que l'option -X sur ssh fonctionne).
Suppressingfire
@ Suppressingfire: Oh, merci. Je suppose que j'aurais dû inclure la commande moi-même.
DLH
2
Oui, le transfert X fonctionne avec Windows. Je l'ai utilisé avec Cygwin / X , sous Windows XP. Pas le plus rapide ni le plus joli, mais ça marche.
mp3foley
Le transfert ssh X11 limite également les services que vous devez activer sur votre serveur! Je soupçonne que la plupart des serveurs ont ssh de toute façon. L'activation de X11 à distance (XDMCP) n'est pas vraiment reconnue pour sa sécurité.
LassePoulsen
le lien vers le tutoriel est maintenant brisé, faites attention à quelqu'un qui peut le mettre à jour?
Hibou
13

Vous pouvez utiliser freenx au lieu de vnc. Freenx transmet des commandes x (avec mise en cache) au lieu de bitmaps.

txwikinger
la source
Puis-je l'utiliser sur une machine Windows?
silvo
2
Je pense que vous pouvez télécharger le client NoMachine NX pour Windows et qu'il fonctionne avec FreeNX, même si je peux me tromper. nomachine.com/download.php
manyxcxi Le
9

Xming et XDMCP est une option brillante.

Modifier:

Xming est un serveur x pour Windows basé sur Cygwin. Il permet de partager le Presse-papiers et de mettre en œuvre différentes dispositions de bureau.

XDMCP est un protocole simple et - important - non crypté (ne l’utilisez pas sur Internet) pour connecter un X-displaymanager et un serveur x.

Ddeimeke
la source
Vous devriez probablement modifier la réponse pour inclure un peu plus de détails sur pourquoi et comment cela fonctionne. Savoir ce que signifie Xming et XDCMP est le meilleur choix.
Ressu
Je le ferai.
ddeimeke
7

Je ne connais pas le "meilleur" moyen, je suppose YMMV, mais voici un aperçu assez complet des outils à votre disposition: http://www.mynitor.com/2010/02/07/15-remote-desktop- solutions-pour-linux /

Voici notamment mon expérience:

  1. nomachine nx - Vitesse impressionnante. En mode natif, on a l'impression d'être devant la console. Il prend en charge le démarrage de nouvelles sessions ainsi que l'observation de la console (mais l'observation est plus lente). Il prend en charge le détachement et l’attachement aux sessions. Le partage du Presse-papiers ne fonctionnait que dans un sens pour moi et je ne pouvais pas le réparer. Nomachine offre des packages serveur et client gratuits avec certaines restrictions de licence.
    FreeNX est construit sur les bibliothèques nomachine nx

  2. x2go - Je suis particulièrement impressionné par cette redirection du son, mais je ne l'ai pas utilisé aussi longtemps que nomachine nx car je l'ai découvert plus tard.

  3. x11vnc - Excellent serveur vnc capable de se connecter à la session de la console. Utilisé en conjonction avec nomachine nx. Je ne sais pas s'il peut fonctionner en mode sans tête, mais je le répertorie au cas où ce serait possible, car pour moi, c'était le serveur vnc le plus rapide du moment.

  4. xrdp - semblait prometteur mais semble ne pas être maintenu. La solution OpenSuse nomad est basée sur xrdp et j’entends bien que nomad est la meilleure expérience de bureau à distance que vous pouvez obtenir sur Linux.

  5. teamviewer - La version linux est toujours en version bêta, fonctionne sous wine et consomme un peu de CPU, mais je l'ai beaucoup utilisée récemment et j'en étais satisfait. Pas sûr si cela fonctionne sur un serveur sans tête.

Li Lo
la source
2

Pensez également à xpra , qui vous permet de vous connecter à une session en cours ailleurs, comme "screen for X".

Il y a aussi Window Shifter , un frontal pour xpra, qui devrait également fonctionner pour Windows, voir la démo .

blueyed
la source
1
Cela semble intéressant.
Li Lo
1

Bien que intrinsèquement peu sécurisé, vous pouvez utiliser XDMCP sur un réseau local. Je l'utilise fréquemment pour accéder à des machines virtuelles. C'est comme si vous vous connectiez à votre bureau, sauf que vous avez choisi le serveur distant.

Tim Post
la source
1

J'utilise x11vnc , ce qui fonctionne très bien pour moi. Il vous permet de conserver une session graphique persistante entre les connexions afin que vous puissiez vous déconnecter et vous reconnecter et que tout soit comme vous l'avez laissé. Il prend également en charge le tunneling sur SSH. Consultez ces documents de la communauté Ubuntu pour une brève description et des instructions sur sa configuration.

Alex Grin
la source
1

J'ai utilisé avec succès freenx sur Ubuntu à l'aide du client Windows de http://nomachine.com .

Pour moi, c’était pour me permettre d’utiliser une vieille tablette PC (qui avait du mal à installer Windows XP en mode minimal) comme interface frontale à une machine de bureau Ubuntu plus puissante.

Le seul problème que j'ai eu est que vous deviez désactiver les "effets visuels" pour obtenir des performances décentes.

J'allais commenter la réponse de txwikinger suggérant nxserver, mais je n'ai pas assez de réputation.

Grande vague
la source
1

La configuration pour un accès X distant peut être décourageante et implique plusieurs étapes.

J'utilise x2go, qui est load-and-go et exceptionnellement facile à utiliser. Cela vous donne un bureau complet, comme si vous aviez connecté un nouvel écran et un nouveau clavier à votre serveur. Il a toutes les fonctionnalités de X.

x2go n'est PAS une solution de "bureau à distance". Vous obtenez une toute nouvelle session. Cependant, vous pouvez vous déconnecter et vous reconnecter à partir du même ordinateur ou d'un ordinateur différent avec le client x2go. votre bureau est persistant. Mieux encore, le bureau de votre ordinateur client est entièrement évolutif en temps réel, simplement en redimensionnant la fenêtre.

x2go utilise ssh pour le transport, vos données sont donc cryptées. Cela simplifie la traversée des pare-feu. La vitesse ne semble pas affectée par l'utilisation de SSH pour le transport.

Le logiciel client x2go est disponible pour Linux, Windows et Mac.

Très beau logiciel libre et open source. Je l'utilise tous les jours.

Hugh Buntu
la source