Cette documentation décrit la procédure à suivre pour mettre en œuvre le "bureau à distance" à l'aide des clients et serveurs de NoMachine. Si vous voulez pouvoir travailler à distance sur votre ordinateur Ubuntu, via Internet, une connexion ADSL ou même un modem classique 50Ko/s, NoMachine est ce qu'il vous faut.
Vous installez le serveur sur votre ordinateur Ubuntu, et le client sur les autres ordinateurs à partir desquels vous voulez pouvoir vous connecter sur votre ordinateur Ubuntu.
La session ouverte à distance sur votre ordinateur Ubuntu est indépendante de votre session locale. Ce service ne fait pas une réplication de votre session locale sur l'ordinateur distant, qu'il soit sous Windows, Mac ou autre Linux. Si vous cherchez une solution pour montrer une manœuvre dans votre session à un utilisateur distant, tournez-vous vers VNC.
On appelle
L'accès distant à votre machine se fait de manière sécurisée, c'est-à-dire que vos échanges entre client et serveur sont totalement chiffrés. Le chiffrement des données est assuré par un protocole qui s'appelle ssh. Nous installerons donc tout d'abord cette fonctionnalité.
Ensuite, nous installerons le serveur proprement dit.
Quelques conseils terminent cette page, pour simplifier encore la fonction bureau à distance.
FreeNX: Avantages
Inconvénients
Probablement meilleur pour une utilisation institutionnelle.
NX Free Server Avantages
Inconvénients
NoMachine et NxFree utilisent ssh pour assurer une communication sécurisée (authentifiée et chiffrée) entre le client et le serveur. Il vous faut donc installer ssh si cela n'a pas encore été fait.
Référez vous à ce tutoriel pour apprendre comment installer un paquet et installez ssh. Ou bien tapez directement la commande suivante dans un terminal (Menu Application→Accessoires→Terminal).
sudo apt-get install ssh
La suite de cette section détaille la configuration de sshd requise pour les besoins de NxServer. Normalement, celle qui a été mise en place lors de l'installation de sshd convient parfaitement, mais il peut être utile de vérifier cette configuration que vous trouverez dans le fichier /etc/ssh/sshd_config.
Ce fichier doit avoir une section Authentication
qui doit contenir ce qui suit:
# Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys
La ligne AuthorizedKeysFile commentée indique la valeur par défaut. Elle est importante et c'est cette valeur qu'on utilisera pour la suite. Ce fichier contient la liste des clés publiques des clients autorisés à se connecter à un compte via ssh sans avoir à donner de mot de passe. Il joue donc un rôle très important dans la sécurité d'un système. Il est ainsi une bonne pratique d'administrateur d'ordinateur de surveiller l'absence d'un tel fichier dans le compte des utilisateurs. Il ne doit être présent que si c'est volontaire et nécessaire.
Pour NoMachine, sa présence est nécessaire et ne présente pas de risque pour la sécurité. Une fois que NX sera installé, vous pourrez le vérifier avec la commande suivante
grep nx: /etc/passwd
Qui doit renvoyer
> nx:x:113:65534::/usr/NX/home/nx:/usr/NX/bin/nxserver
Les valeurs numériques apparaissant chez vous peuvent être différentes. Ce qui est important est la suite. Elle indique que le répertoire racine de l'utilisateur nx est /usr/NX/home/nx et que c'est le programme nxserver qui prend en charge les connexions au compte de cet utilisateur. C'est ce programme qui va vérifier l'identité et le mot de passe présenté par le client. C'est pour cela qu'il n'y a donc pas de danger d'autoriser une connexion ssh sans authentification.
Cependant il y a un hic. NoMachine va installer la clé publique des clients dans le fichier /usr/NX/home/nx/.ssh/authorized_keys2. Comme vous pouvez le constater, ce nom de fichier ne correspondant pas à ce qui est défini dans la configuration de sshd. Il faudra donc corriger cela pour rendre la connexion de clients NoMachine possible.
Si vous modifiez la configuration de sshd, il faut faire en sorte que ssh prenne en compte cette nouvelle configuration. Pour cela tapez la commande suivante:
sudo /etc/init.d/ssh reload
Il n'y a pas de paquet disponible dans les dépôts, on va donc télécharger et installer manuellement les paquets :
Pour finaliser l'installation il vous faut encore exécuter l'instruction suivante:
pushd /usr/NX/home && sudo cp nx/.ssh/authorized_keys2 nx/.ssh/authorized_keys && popd
Cette commande fait en sorte que sshd accepte la connexion des clients NoMachine. Elle fait simplement une copie du fichier authorized_keys2 en authorized_keys dans le répertoire /usr/NX/home/nx/.ssh
Vous pouvez maintenant vous connecter directement avec le client NoMachine à votre ordinateur. Mais il vous faudra vous connecter avec un compte existant du serveur mais différent que celui que vous utilisez actuellement, sinon cela ne fonctionne pas.
Le client NoMachine peut être lancé à partir du menu Applications→Internet→NX Client for Linux→NX Client for Linux. La première fois que vous lancez ce programme vous aurez droit à un assistant de connexion. Les fois suivante vous aurez directement un dialogue de login.
Les images suivantes sont des copies d'écran de l'assistant de connexion.
ou directement le client :
Le nom de Session est laissé à votre imagination
A la première connexion, vous aurez un message demandant d'authentifier une clé. Répondez simplement OUI.
NX> 204 Authentication failed.
essayer de réinstaller openssh et ssh :
sudo apt-get purge openssh-server sudo apt-get install openssh-server ssh
Cela se fait sans problème, en téléchargeant celui qui vous convient en fonction de l'OS à la page https://www.nomachine.com/download.php, rubrique "NX CLient Product".
Si vous voulez utiliser le client sur une machine pour laquelle vous ne possédez pas les droits d'installation de programme, ce n'est pas encore perdu. Voyez la "solution portable" ci-dessous.
Par défaut le client NX propose des sessions GNOME, KDE, CDE et XDM. Cela ne peut fonctionner que si l'interface en question est installé sur le serveur.
Si votre session ne se lance pas et que vous récupériez des messages concernant la souscription au logiciel, pas d'inquiétude, ce type de message doit être le message par défaut de nxserver quand il n'arrive pas à lancer la session correctement.
La session GNOME a un peu de mal à s'intégrer à Unity (et aussi à GnomeShell).
Pour arriver à obtenir un résultat 'potable', il faut lancer la session en Gnome Classic en modifiant, à la fin du fichier "node.cfg" du serveur, la ligne du lancement Gnome.
CommandStartGnome = "/usr/bin/gnome-session –session=gnome-classic"
Sujet abordé plus en détail ici aussi : http://forum.ubuntu-fr.org/viewtopic.php?pid=14619421#p14619421
Si la session n'est pas listée (normalement différent de GNOME, KDE, CDE et XDM), dans l'interface du client, il faut :
Allez sur la page http://www.mon-ip.com/ ou https://mon-ip-addresse.com/. L'adresse que vous verrez est celle à renseigner sous l'intitulé "Host" dans le client.
Si vous trouvez barbare de devoir retenir votre numéro IP, ou si celui-ci change, sachez que vous pouvez entrer à la place une adresse du genre chezmoi.homelinux.net . C'est un service proposé par différents sites internet, comme DynDns
Il suffit de l'allumer à distance ! C'est possible, à la condition que le serveur soit relié à internet par une connexion ethernet. La méthode s'appelle Wake On LAN, et est décrite ici
En installant le serveur SSH, vous laissez la possibilité à quelqu'un d'extérieur de se connecter à votre ordinateur. Dès lors, il est INDISPENSABLE que vous ayez un vrai mot de passe digne de ce nom. Vous pouvez voir sur cette page quelques conseils pour trouver un mot de passe solide.
La connexion se fait en utilisant le couple clé publique/clé privée standard de NoMachine. Cela ne pose pas de problème, pourvu que votre mot de passe soit bon, et que vous ne le laissiez pas trainer. Si vous êtes un peu parano, vous pouvez générer une paire personnelle de clé, qui sera utilisée entre le client et le serveur pour leur authentification mutuelle.1)
La démarche ( sources)) est alors la suivante :
sudo /usr/NX/scripts/setup/nxserver --keygen
sudo chown nx:root /usr/NX/home/nx/.ssh/authorized_keys2 sudo chmod 0644 /usr/NX/home/nx/.ssh/authorized_keys2 sudo chown nx:root /usr/NX/home/nx/.ssh/default.id_dsa.pub sudo chmod 0644 /usr/NX/home/nx/.ssh/default.id_dsa.pub
puis distribuer la clé privée de la paire de clé nouvellement créé et située dans le fichier /usr/NX/share/keys/default.id_dsa.key copier son contenu
cat /usr/NX/share/keys/default.id_dsa.key
Le coller dans le client : vous ouvrez le client, et dans l'onglet "General", il y a un bouton "Key". Remplacez la clé existante par celle que vous venez de copier là :
Evidemment, il vous faudra conserver cette clé sur une clé USB ou un autre support, afin de pouvoir la copier dans le client que vous voudrez utiliser.
Ce système a la particularité de préserver une très bonne performance dans des conditions de réseau limitées. Il est possible de travailler normalement à travers une liaison ADSL aux performances classiques (ex: 500Kb/s et 90 à 200ms de ping), alors que c'est impossible avec une session X11 classique. NoMachine réalise cela grâce à l'utilisation d'une technique de compression propriétaire du protocole X11.
NoMachine fournit gratuitement des clients pour différentes versions de unix, pour Windows, pour Mac et pour Solaris. Il fournit également gratuitement les serveurs pour linux et solaris, mais avec une limitation sur le nombre de sessions que l'on peut ouvrir simultanément sur la machine. Pour supporter un grand nombre de sessions sur un même serveur, ou pour mettre en place une batterie de serveurs avec répartition de charge, il faut alors utiliser la version commerciale.
FreeNX est une implémentation libre du serveur de NoMachine, car les sources sont sous licence GPL FreeNX. Freenx est une réalisation de la communauté du logiciel libre qui utilise ces sources.
NX Server est la version maintenue par la société NoMachine.
Cette page vous a expliqué comment installer le serveur NX. Si vous souhaitez installer la solution FreeNX, allez à la page freenx
Beaucoup de personnes utilisent NoMachine pour accéder à un serveur dédié comme celui de Dedibox. Si vous installez directement la version desktop d'Ubuntu, vous aurez déjà FreeNX d'installé, avec tous les problèmes évoqués plus haut.
Préférez donc une version ubuntu-server, quitte à installer un environnement gnome ou kde par la suite.
Largement inspiré de la page freenx
Contributeurs : environ314