Contenu | Rechercher | Menus
Selon les tags présents sur cette page, celle-ci est ancienne et ne contient plus d'informations sur une des versions supportées d'Ubuntu.
Cette page est en cours de rédaction.
Apportez votre aide…

Freenx, mise en œuvre

FreeNX n'est pas compatible avec les dernières versions du client de NoMachine. Le serveur NoMachine est donc indispensable si vous souhaitez installer un client sous Windows Vista. (corrigé avec la dernière version)

Le serveur FreeNX des dépôts launchpad ppa fonctionne sans problème avec le dernier client NX NoMachines (3.3.0-6)

NoMachine met maintenant gratuitement à disposition sur son site web un serveur dont l'installation est très facile, mais il n'est pas open source. Vivement une mise à disposition via Synaptic. Cependant le nombre d'utilisateurs pouvant se connecter via le serveur de NoMachine est limité à 2 ! Dans les autres cas il faut utiliser FreeNX.

Que vous vouliez installer le client ou le serveur, il faudra commencer par installer le package node. Il y a une dépendance avec libstdc++6 que vous devez donc installer préalablement avec synaptic. Ensuite vous installez nx free server ou le client. Vous trouverez avec chaque package les instructions pour l'installer. C'est beaucoup plus simple que pour freenx.

Les directives de cette page pour configurer ssh correctement restent d'actualité.

Une page spécifique à l'installation et la configuration du client et du serveur NoMachine devrait être réalisée. (elle existe maintenant ici)

Introduction

Freenx est un serveur que vous installez sur votre ordinateur Ubuntu et qui vous permettra de vous y connecter à partir d'un autre ordinateur. Freenx surclasse les autres solutions du même type grâce à l'utilisation d'un protocole compressé propriétaire. La différence est particulièrement notable si la connexion passe par une liaison WiFi, ADSL ou même modem.

Le système est, à la base, développé et commercialisé par NoMachine. Mais ils ont mis les sources de leur serveur à disposition du public sous license GPL. Freenx est une réalisation de la communauté du logiciel libre qui utilise ces sources. Ce serveur est parfaitement compatible avec les clients fournis gratuitement par NoMachine pour différents systèmes d'exploitation.

Pour l'illustration de la mise en œuvre de Freenx, nous utiliserons le client Windows.

Pour l'installation nous utilisons le terminal, même si certaines opérations pourraient se faire avec Synaptic. Pour ouvrir un terminal, lancez le programme Applications → Accessoires → Terminal.

Installation et configuration de SSH

La connexion à Freenx se fait via SSH. Pour installer SSH, installez le paquet ssh. Lorsque c'est terminé, ssh est opérationnel.

Pour pouvoir se connecter à Freenx, il faut changer certains paramètres dans le fichier de configuration /etc/ssh/sshd_config.

Dans ce fichier vous devriez trouver une section « Authentification ». Modifiez cette section pour avoir ce qui suit :

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
 
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

Normalement, vous devriez n'avoir qu'a dé-commenter la dernière ligne. Le « PermitRootLogin no » n'est pas indispensable. C'est juste une mesure de sécurité. Songez aussi à changer le numéro de port; le port par défaut est en effet la cible de constantes tentatives de pénétration automatisées. Si vous ne comprenez pas de quoi il s'agit, ne vous en souciez pas. Ce changement n'est pas critique pour utiliser Freenx ou pour la sécurité, étant donné la sécurité inhérente à ssh.

Il faut maintenant faire en sorte que SSH prenne en compte cette nouvelle configuration. Pour cela, tapez la commande suivante :

sudo /etc/init.d/ssh reload

À partir de Lucid Lynx (Ubuntu 10.04) la commande à utiliser pour relancer ssh est:

sudo service ssh restart

Installation et configuration de Freenx

Jaunty 9.04 : voici un Script en version 0.1 pour simplifier l'installation et la configuration : http://forum.ubuntu-fr.org/viewtopic.php?pid=2748883#p2748883

Utilisateurs de Lucid (10.04), des instructions sont disponibles sur le wiki anglophone et permettent une installation beaucoup plus rapide, notamment grâce au script nxsetup maintenant fourni avec le paquet FreeNX et qui automatise toute l'installation

FreeNX est disponible dans deux dépôts tiers, l'un pour Gutsy, l'autre pour Debian. Bien que celui de Gutsy ne contienne pas la version la plus récente, ça fonctionne.

NOTE ( Utilisateurs d'INTREPID IBEX ) : Le dépôt de freenx présent sous Hardy ne fonctionne pas avec la version 8.10. Il est alors nécessaire d'utiliser le dépôt de FreeNX Team PPA

pour cela, ouvrez avec votre éditeur de texte favori le fichier /etc/apt/sources.list

et y ajouter les lignes suivantes:

    deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu intrepid main
    deb-src http://ppa.launchpad.net/freenx-team/ppa/ubuntu intrepid main

Pour precise (12.04), remplacez dans les deux lignes précédentes "intrepid" par "precise".

Il est ensuite nécessaire d'ajouter la clé PGP à votre distribution, on ouvre donc un terminal:

    gpg --keyserver subkeys.pgp.net --recv-keys D018A4CE
    sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2A8E3034D018A4CE

Si la commande ci-dessus ne fonctionne pas, vous pouvez taper la commande suivante:

    gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-key D018A4CE && gpg -a --export D018A4CE | sudo apt-key add -

La clé est ajoutée, on peut maintenant mettre à jour la liste des dépôts puis installer le logiciel:

    sudo apt-get update
    sudo apt-get install freenx

Une fois installé, reste à paramétrer le serveur, et sécuriser le tout. Pour cela deux choses, d'une part modifier le port ssh par défaut, puis d'autre par créer votre propre certificat.

Ouvrez le fichier de configuration de freenx:

    sudo nano /etc/nxserver/node.conf

trouvez la ligne suivante:

    # The port number where local 'sshd' is listening.
    #SSHD_PORT=22

décommentez et modifier le port ssh par celui souhaité

Attention le port doit être celui précisé au préalable dans le fichier de configuration de votre serveur ssh, qui se trouve dans /etc/ssh/sshd_config

Ce qui donnera par exemple:

    # The port number where local 'sshd' is listening.
    SSHD_PORT=8008

Une fois le port ssh par défaut modifié, il est préférable de créer votre propre certificat, que vous préciserez lorsque vous vous connecterez à partir d'un client quelconque.

Toujours dans un terminal:

    sudo dpkg-reconfigure freenx-server

Valider la première page, puis sur la seconde sélectionnez 'Create new custom keys'.

Une clé nommée client.id_dsa.key sera créée dans le répertoire /var/lib/nxserver/home/custom_keys/, que vous vous empresserez de copier dans votre Home.

    sudo cp /var/lib/nxserver/home/custom_keys/client.id_dsa.key ~/

Ca sera cette clé qu'il faudra entrer à partir du poste client, pensez donc à la copier sur un espace sécurisé, sur le net pour y avoir accès depuis un autre poste!

Votre serveur est désormais paramétré, rendez vous sur le site de No Machine afin de télécharger le client (http://www.nomachine.com/download.php) afin de prendre la main à distance.

lors de la copie sous votre Home, la clé appartient au compte Root. Pour pouvoir la copier sur votre clé usb vous devez changer le propriétaire : ls -alp /home/votrecompte/client.id_dsa.key pour vérifier les droits sudo chown votrecompte:votregroupe /home/votrecompte/client.id_dsa.key pour changer le propriétaire ls -alp /home/votrecompte/client.id_dsa.key pour vérifier les nouveaux droits Maintenant vous pouvez la copier sur votre clé.

Installation depuis dépôt tiers

Si vous avez suivi un tas de tutoriels pour ajouter les logiciels qui manquaient à la base, il y a des chances que votre liste de dépôts tiers ne vous dise plus grand-chose : n'hésitez donc pas à écrire un commentaire pour chacun d'eux pour savoir ce qu'ils contiennent !

Ajouter les dépôts suivants à vos sources de mises à jour (selon votre version) :

Ubuntu 8.04

deb http://www.datakeylive.com/ubuntu hardy main

Il n'y a pas de clé gpg disponible, ce qui génère une erreur lors du rechargement de l'information des dépôts. Cela n'est pas bloquant.

Ubuntu 7.10

deb http://www.datakeylive.com/ubuntu gutsy main
wget http://www.datakeylive.com/ubuntu/dists/gutsy/wjeremy.key -O - | sudo apt-key add -
wget http://www.datakeylive.com/ubuntu/dists/gutsy/alivesoftware.key -O - | sudo apt-key add -

Ubuntu 7.04

deb http://mirror2.ubuntulinux.nl/ feisty-seveas all
deb-src http://mirror2.ubuntulinux.nl/ feisty-seveas all

Ubuntu 6.10

deb http://mirror2.ubuntulinux.nl/ edgy-seveas all
deb-src http://mirror2.ubuntulinux.nl/ edgy-seveas all

FreeNX n'est pas disponible dans le dépôt Edgy de ubuntulinux.nl.

Ubuntu 6.06 LTS

deb http://mirror2.ubuntulinux.nl/ dapper-seveas all
deb-src http://mirror2.ubuntulinux.nl/ dapper-seveas all

Configuration

Tapez la commande suivante dans le terminal.

gpg --keyserver subkeys.pgp.net --recv-keys 1135D466
gpg --export --armor 1135D466 | sudo apt-key add -

S'il n'existe pas déjà, créez un fichier /etc/apt/preferences dans lequel vous ajoutez les lignes suivantes :

Package: *
Pin: release o=Seveas
Pin-Priority: 50

Ces règles indiquent que cette source ne sera prise en considération que si le package ne se trouve pas dans les sources standards. Pour vérifier que cette règle est bien prise en compte tappez la commande suivante après avoir mise-à-jour le cache :

sudo apt-get update
apt-cache policy

Normalement vous devriez voir ceci au début du listing :

Fichiers du paquet :
 100 /var/lib/dpkg/status
     release a=now
  50 http://seveas.ubuntulinux.nl breezy-seveas/all Packages
     release v=5.10,o=Seveas,a=breezy-seveas,l=Seveas,c=all
     origin seveas.ubuntulinux.nl
 500 http://security.ubuntu.com
 ...

Si tout s'est bien passé jusqu'ici, vous êtes prêt pour installer Freenx. Cette fastidieuse opération ne sera plus nécessaire le jour où Freenx sera mis à disposition dans les dépôts Universe ou Multiverse ou mieux encore dans le dépôt Main.

Installation de Freenx

Première méthode

Là, les choses redeviennent plus familières et plus simple : installez le paquet freenx.

À un moment donné, une question importante et décisive vous sera posée par le programme d'installation. Il faut spécifier quel type de configuration vous voulez installer. Sélectionnez « Custom Keys ». Ceci indique que la procédure d'installation doit générer des bi-clés d'authentification spécifiques à votre configuration.

Lorsque l'installation est terminée, votre ordinateur est presque opérationnel. Il y a juste quelques détails à régler.

Pour cela il est plus aisé de se mettre en mode administrateur. Puis allez dans le répertoire où sont placés les bi-clés d'authentification.

sudo -i
cd /var/lib/nxserver/home/.ssh
ls

Vous verrez que l'installation de Freenx a créé un fichier « authorized_keys2 ». Le « 2 » est de trop. Pour le retirer tapez la commande suivante :

mv authorized_keys2 authorized_keys

À côté de ce fichier, vous trouverez deux fichiers nommés « id_dsa » et « id_dsa.pub ». Le fichier qui nous intéresse ici est « id_dsa » car il contient la clé privée. C'est un fichier texte dont vous pouvez afficher le contenu avec la commande suivante :

# cat client.id_dsa.key
-----BEGIN DSA PRIVATE KEY-----
MIIBuwIBAAKBgQDXfUJs6cUZ67OgM//u3XV7nZD3k/nsCv/V/tXiGqvNk2FHXT3/
...
AFXytgRve3vJgWPIXiBV
-----END DSA PRIVATE KEY-----

Il vous faudra copier cette clé (le texte) sur l'ordinateur distant. Là je n'ai pas de ligne de commande à vous proposer. Vous devrez soit utiliser une disquette, une clé USB, ou un autre moyen de transfert. Si vous avez mis en œuvre Samba, l'opération sera triviale à réaliser.

Arrivés ici, nous en avons fini avec la configuration de votre ordinateur Ubuntu. Nous pouvons passer au client qui dans notre cas d'école est un ordinateur Windows XP.

Seconde méthode

Installez les paquets expect openssh-server tcl8.4 nxlibs nxagent nxproxy freenx nxclient.

Pour les manipulations décrites ci-dessus, les fichiers se trouvent respectivement à /home/votre_login/.ssh pour authorized_keys2 et /etc/nxserver/users.id_dsa pour la clé privée. Il n'y a pas de « .key » final.

Ainsi, chaque utilisateur pourra récupérer sa clé privée dans son répertoire.

L'inconvénient est que ça nécessite un moyen de transmission sécuritaire, ou réputé tel : une clé USB. Ce n'est pas pratique dans le cas où vous souhaiteriez donner accès à un utilisateur qui n'a jamais eu accès physiquement à la machine.

Ajout d'utilisateurs

Avant de pouvoir se connecter à la machine à distance, les utilisateurs doivent être ajoutés; comme le système NX est basé sur SSH, on ne peut ajouter que les utilisateurs qui possèdent leur dossier dans /home.

Tapez :

sudo nxserver --adduser votre_login

ainsi qu'un mot de passe:

sudo nxserver --passwd <username>

Redémarrez ensuite le serveur NX:

sudo nxserver --restart

Problème de connexion (message de coupure réseau)

Le début de la connexion semble fonctionner mais au démarrage du serveur X, la connexion se ferme brutalement. Pour faire fonctionner la connexion, il faut ajouter dans le fichier de configuration de FreeNX (vers la fin) /etc/nxserver/node.conf la ligne suivante à mettre sur une seule ligne et sans espace après les virgules :

AGENT_EXTRA_OPTIONS_X="-fp
/usr/share/fonts/X11/misc/,
/usr/share/fonts/X11/75dpi/:unscaled,
/usr/share/fonts/X11/100dpi/:unscaled,
/usr/share/fonts/X11/Type1/,
/usr/share/fonts/X11/100dpi/,
/usr/share/fonts/X11/75dpi/"
/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType

Erreur à la connexion du type : "Error: Call to bind failed for font TCP port xxxxx"

Si on utilise plusieurs serveurs différents avec le même client, il peut y avoir des conflits d'adresses. Voici l'erreur rapportée côté client.

Info: Connection with remote proxy completed.
Error: Call to bind failed for font TCP port 11000. Error is 48 'Address already in use'.
Session: Session terminated at 'Mon May 30 21:58:21 2011'.

Si on a accès à l'un des serveurs, la solution consiste à changer le numéro de base des sessions

  • soit dans /etc/nxserver/node.conf
  • ou bien en ajoutant un fichier nommé 11_display_base (les deux chiffres > 10 en tête du nom du fichier sont importants) dans le répertoire /usr/share/freenx-server/node.conf.d avec comme contenu :
# The base display number from which sessions are started.
DISPLAY_BASE=2000

Ainsi les ports utilisés seront 12000 et suivants au lieu de 11000, ce qui évitera le conflit.

Installation et configuration du client NoMachine

Rendez vous sur le site web de NoMachine et téléchargez le client qui vous convient. Dans notre cas se sera celui de Windows.

L'installation est une procédure classique pour tout utilisateur Windows. A la fin il vous propose de configurer une connexion à l'aide d'un assistant (Wizard).

FIXME : à développer

Dans la fenêtre configurer, il y a un bouton « Key ». Là vous verrez la clé privée du client. Remplacez la par celle qui se trouve sur votre ordinateur Ubuntu. Sauvez. Dans les onglets, vous trouverez une option pour activer le chiffrement SSL. C'est fortement conseillé. Il faut également activer la transmission du son. Ce n'est pas activé par défaut.

Choisissez un nom pour la session. Je vous suggère de créer un raccourci sur le bureau. Pensez à configurer le numéro de port et le nom de votre ordinateur Ubuntu comme il se doit.

Si vous rencontrez des problèmes avec la version 2.0 du client proposé par NoMachine,

essayez la version 1.5 disponible ici > Lien mort

.


Contributeurs : ChMeessen.



Le contenu de ce wiki est sous licence : CC BY-SA v3.0