Apportez votre aide…
Ceci est une ancienne révision du document !
Serveur NoMachine
Introduction
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
- logiciel "Serveur", le logiciel installé sur la machine hôte des sessions (NxServer), et
- logiciel "Client", le logiciel exécuté à distance et visualisant la session (NxClient).
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.
Avantages et inconvénients de FreeNX par rapport à NX Free Server
FreeNX: Avantages
- Open source
- pas de limite du nombre de connexions simultanées à la même session
Inconvénients
- Pas encore de support pour la transmission audio (si. En tout cas avec la version 0.7.1, mais uniquement esd, comme avec le serveur payant)
- Pas encore capable de se connecter sur une session locale déjà ouverte à travers le protocole NX, ni même avec VNC
Probablement meilleur pour une utilisation institutionnelle.
NX Free Server Avantages
- Supporte la transmission audio
- Permet la reprise d'une session locale ouverte
Inconvénients
- Source fermée
- Limité à 2 connexions simultanées à la même machine (ce ne devrait pas être un problème pour un usage personnel)
Installation
Installation et configuration de ssh
NxServer utilise ssh pour assurer une communication sécurisée (authentifiée et chiffrée) entre le client et le serveur. Cette section vous décrit la procédure d'installation de sshd si cela n'a pas encore été fait. Elle vous décrit également la configuration requise de sshd et la procédure pour la modifier si elle ne correspond pas.
Installer ssh
sudo apt_get install sshd
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 Authentification
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. L'installation de NxServer utilise un autre nom de fichier et il devra donc être changé. Ce fichier contient la liste des clés publiques des clients autorisés à se connecter à votre serveur.
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
Installation et configuration de NX Server
Il n'y a pas de paquet disponible dans les dépôts. Rendez-vous donc directement sur le site de NoMachine
Télécharger Client, Node et Server puis les installer dans cet ordre.
Normalement, vous avez terminé l'installation ! Testez-la en lançant l'assistant de connexion
ou directement le client :
Le nom de Session est laissé à votre imagination
- Host : mettez votre IP (voir les commentaires plus bas à ce sujet)
- Port : laissez 22
- Choisissez Unix et Kde ou Gnome selon vos préférences,
- Ne cochez pas "Disable SSL encryption" : cela est pour avoir une connexion sécurisée.
- Avaible Array si vous voulez le programme dans une fenêtre, et FullScreen pour avoir votre session en plein écran
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
Installer les clients où vous voulez
Cela se fait sans problème, en téléchargeant celui qui vous convient en fonction de l'OS à la page http://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.
2-3 choses pour vous simplifier la vie et autres raffinements
Problèmes à l'installation
- Au niveau du client : si vous utilisez le protocole DHCP, le serveur risque de ne pas savoir où vous trouver. Préférez l'attribution d'une adresse précise de votre routeur pour votre ordinateur (typiquement, 192.168.0.1). Ensuite, assurez-vous une redirection du port 22 (avec les options par défaut) vers le port 22 de la destination 192.168.0.1 (si vous avez suivi l'exemple précédent).
Allez sur la page http://www.mon-ip.com/. L'adresse que vous verrez est celle à renseigner sous l'intitulé "Host" dans le client.
Confort d'utilisation
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
- passer de la fenêtre au plein-écran : <ctrl>-<alt>-F
- Finir la session à distance : <alt>-F4 (avec possibilité de la suspendre)
- Sur windows on bascule de la session Ubuntu à la session windows à l'aide de la combinaison de touche <alt>-<tab>.
- Sous windows ou linux, pour réduire le client nx quand on est en plein écran sur la barre des tâches, cliquer avec la souris tout en haut à droite
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
Sécurité
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 à cette adresse 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 :
- Générer une nouvelle paire de clé DSA :
sudo /usr/NX/scripts/setup/nxserver --keygen
- Distribuer la nouvelle clé privée aux clients : changer les permissions ainsi :
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.
- Parade 1 : choisir un mot de passe robuste
- Parade 2 : utiliser une clé privée : sans la clé, on ne peut même pas essayer un mot de passe
- Parade 3 : empêcher d'essayer plein de mots de passes : c'est ce que propose l'application fail2ban. Voyez la page qui lui est consacrée pour plus de précisions !
FreeNX ou NX Server ?
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.
- Avantages : c'est sous licence GPL. Pas de limitation du nombre de connexions simultanées.
- Inconvénients : il n'est pas compatible avec les versions postérieures à la 1.5 du client de NoMachine. Vous ne pouvez pas l'utiliser si vous souhaitez installer un client sous Windows Vista. La fonction "resume" ne fonctionne pas.
NX Server est la version maintenue par la société NoMachine.
- Avantages : il y a des mises à jour, les clients existent pour tous les OS, y compris Windows Vista. Possibilité d'interrompre une session et de la reprendre en l'état ultérieurement.
- Inconvénients : c'est une version gratuite, mais non libre. Le nombre de connexions simultanées est limité à 2.
Cette page vous a expliqué comment installer le serveur NX. Si vous souhaitez installer la solution FreeNX, allez à la page freenx
Dedibox
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 serveur, quitte à installer un environnement gnome ou kde par la suite.
Largement inspiré de la page freenx
Contributeurs : environ314