Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/10/2006, à 13:02

pristella

NXSERVEUR (freenx via openssh chrooter)

bonjour,

1- J'ai installé openssh avec un environnement chrooter via ce tuto :

linux creation environnement openssh chroot

pas de problème de ce coté smile l'environnement se trouve dans /home/serveur_ssh/home/"comptes-utilisateurs"

tout fonctionne parfaitement avec une authentification par clés publique/privée.

openssh est installé dans /usr/local/

2-Ensuite j'ai installé NXSEVER en passant d'abord par freenx grace aux dépots mais ça ne fonctionnait pas donc j'ai été chercher la dernière version 2.1.0-9 sur nomachine ici :

http://www.nomachine.com/select-package.php?os=linux&id=1

3- j'ai d'abord testé (avec SUCCES) avec mot de passe simple en modifiant /usr/local/etc/sshd_config comme suit :

# Package generated configuration file
# See the sshd(8) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile	%h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
KeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

#UsePAM no

comme vous pouvez le constater j'ai commenter la ligne authorized_keys car sur nxserver ce fichier se nomme authorized_keys2 et se trouve dans /usr/NX/home/nx/.ssh/

puis j'ai voulu quand même testé la connexion distante via un pc exterieur sur mon serveur ssh et à ma surprise ça fonctionne avec la clé privée ???? alors que j'ai commenté la ligne qui autorise l'utilisation de clés ???

Comment est-ce possible ?

De plus mon objectif est de faire une authentification par clé sur nxserver aussi sachant qu'a l'installation, le programme utilise une clé par défaut qu'il faut changer. Sur les anciennes version de nxserver (freenx), on pouvait le faire par la commande :

nxsetup

mais maintenant cette commande n'existe plus sur la nouvelle version. Je n'ai trouvé aucunes indications sur la commande que je pourrais utiliser pour creer une clé ????

Pour info, voilà ce que j'ai dans certains repertoires importants :

/home/acer/.ssh/

drwx------  2 acer acer 4096 2006-10-15 22:35 .
drwxr-xr-x 37 acer acer 4096 2006-10-15 22:21 ..
-rwx------  1 acer acer  603 2006-10-15 19:11 authorized_keys
-rwx------  1 acer acer  744 2006-10-15 19:10 id_dsa
-rwx------  1 acer acer  603 2006-10-15 19:10 id_dsa.pub
-rwx------  1 acer acer 1175 2006-10-15 19:14 known_hosts

/usr/NX/home/nx/.ssh/

drwx------ 2 nx root  4096 2006-10-15 22:15 .
drwx------ 3 nx root  4096 2006-10-15 22:20 ..
-rw-r--r-- 2 nx root   668 2006-05-24 00:11 authorized_keys2
-rw-r--r-- 2 nx root   668 2006-05-24 00:11 default.id_dsa.pub
-rw-r--r-- 1 nx users  782 2006-10-15 16:16 known_hosts

/etc/ssh/

drwxr-xr-x   2 root root   4096 2006-10-15 19:32 .
drwxr-xr-x 115 root root   8192 2006-10-15 16:04 ..
-rw-r--r--   1 root root 132839 2006-10-15 16:13 moduli
-rw-r--r--   1 root root   1354 2006-10-15 16:13 ssh_config
-rw-r--r--   1 root root   1871 2006-10-15 19:26 sshd_config~
-rw-r--r--   1 root root   1870 2006-10-15 19:28 sshd_config.backup
-rw-------   1 root root    668 2006-10-15 16:13 ssh_host_dsa_key
-rw-r--r--   1 root root    609 2006-10-15 16:13 ssh_host_dsa_key.pub
-rw-------   1 root root    982 2006-10-15 16:13 ssh_host_key
-rw-r--r--   1 root root    646 2006-10-15 16:13 ssh_host_key.pub
-rw-------   1 root root   1675 2006-10-15 16:13 ssh_host_rsa_key
-rw-r--r--   1 root root    401 2006-10-15 16:13 ssh_host_rsa_key.pub

/usr/local/etc/

drwxr-xr-x  2 root root   4096 2006-10-15 22:19 .
drwxr-xr-x 12 root root   4096 2006-10-15 15:41 ..
-rw-r--r--  1 root root 132839 2006-10-15 15:41 moduli
-rw-r--r--  1 root root   1354 2006-10-15 15:41 ssh_config
-rw-r--r--  1 root root   1869 2006-10-15 22:19 sshd_config
-rw-r--r--  1 root root   1926 2006-10-15 22:13 sshd_config~
-rw-------  1 root root    668 2006-10-15 15:41 ssh_host_dsa_key
-rw-r--r--  1 root root    609 2006-10-15 15:41 ssh_host_dsa_key.pub
-rw-------  1 root root    982 2006-10-15 15:41 ssh_host_key
-rw-r--r--  1 root root    646 2006-10-15 15:41 ssh_host_key.pub
-rw-------  1 root root   1675 2006-10-15 15:41 ssh_host_rsa_key
-rw-r--r--  1 root root    401 2006-10-15 15:41 ssh_host_rsa_key.pub

Voilà c'est un peu long, compliqué , mais peut-être que quelqu'un pourra m'aider.

je rappelle mon objectif :

acceder à mon serveur ssh par authentification par clé
idem pour nxserver

merci d'avance

Dernière modification par pristella (Le 16/10/2006, à 13:07)

Hors ligne

#2 Le 16/10/2006, à 13:26

Uggy

Re : NXSERVEUR (freenx via openssh chrooter)

pristella a écrit :

puis j'ai voulu quand même testé la connexion distante via un pc exterieur sur mon serveur ssh et à ma surprise ça fonctionne avec la clé privée ???? alors que j'ai commenté la ligne qui autorise l'utilisation de clés ???

Comment est-ce possible ?

Le paramètre à utiliser est:

     PubkeyAuthentication
             Specifies whether public key authentication is allowed.  The default is ``yes''.  Note that this option
             applies to protocol version 2 only.



pristella a écrit :

mais maintenant cette commande n'existe plus sur la nouvelle version. Je n'ai trouvé aucunes indications sur la commande que je pourrais utiliser pour creer une clé ????

man ssh-keygen

     ssh-keygen - authentication key generation, management and conversion

Dernière modification par Uggy (Le 16/10/2006, à 13:27)

Hors ligne

#3 Le 16/10/2006, à 15:42

pristella

Re : NXSERVEUR (freenx via openssh chrooter)

Salut,

Regarde bien dans mon fichier /usr/local/etc/ssd_config, j'ai bien mis "yes" à cette option ????

man ssh-keygen

     ssh-keygen - authentication key generation, management and conversion

oui je sais creer une clé pour ssh mais pour nxserver, est-ce vraiment la même commande ? en plus il faut mettre cette clé dans authorized_keys du repertoire .ssh. Dans openssh, authorized_keys se trouve dans /home/acer/.ssh/ et pour nxserver le fichier se trouve dans /usr/NX/home/nx/.ssh/. Le chemin n'est pas le même. pour que ça marche , je suppose que le chemin des 2 fichiers doit être le même ???

Hors ligne

#4 Le 16/10/2006, à 16:47

Uggy

Re : NXSERVEUR (freenx via openssh chrooter)

pristella a écrit :

Salut,

Regarde bien dans mon fichier /usr/local/etc/ssd_config, j'ai bien mis "yes" à cette option ????

Bahh oui et c'est pour cela que ca marche...
(Ta question etait de savoir pourquoi cela continuait de fonctionner... je te repond, a cause du PubkeyAuthentication a  yes... )

Hors ligne

#5 Le 29/10/2006, à 20:58

ptitpoul

Re : NXSERVEUR (freenx via openssh chrooter)

Bonjour,

le site de NoMachine indique comment "Replacing the default SSH keys used by NX with keys generated for your server" -> http://www.nomachine.com/ar/view.php?ar_id=AR01C00126. L'article oublie de dire que, sur le serveur, si l'on ne renomme pas /usr/NX/share/keys/default.id_dsa.key en  /usr/NX/share/keys/server.id_dsa.key, la commande nxserver --status ne fonctionne plus (Authentication to NX server failed).

Autres remarques :
- la clé d'utilisateur 'nx' (qui lance nxnode) est ajoutée dans ~/.ssh/authorized_keys2 (node.cfg par défaut), soit automatiquement lorsqu'on se connecte pour la première fois, soit si l'on ajoute qqun à la database (désactivée par défaut) avec la commande "sudo /usr/NX/bin/nxserver --useradd username". Il faut donc s'assurer d'avoir les mêmes noms (authorized_keys ou authorized_keys2) dans les fichiers de config /usr/NX/etc/node.cfg et /etc/ssh/sshd_config.

- Quand nxserver est lancé au démarrage, il crée automatiquement /usr/NX/home/nx/.ssh/authorized_keys2 qui autorise nxserver à se connecter à nxnode.

- si l'on veut désactiver l'authentification par mot de passe du serveur ssh, il faut activer la database NX (enable_user_db="1" et enable_password_db="1" dans /usr/NX/etc/server.cfg) et ajouter le compte utilisateur pouvant se connecter, avec "sudo /usr/NX/bin/nxserver --useradd username" (et donner un mot de passe identique ou différent du compte local).

- j'ai trouvé un petit bug dans /etc/init.d/nxserver (le script qui est sensé lancer nxserver au démarrage ?) : il faut supprimer "function " devant les définitions de start(), stop() et restart(). Idem dans /etc/init.d/nxsensor (mais nxsensor est désactivé par défaut).

Voilà, j'espère t'avoir donné les bonnes pistes.

PS: si les i et l apparaissent en jaune sur le client NX, désactiver "the render extension" dans la config client.
Autre PS: éviter l'option "UsePAM no" dans /etc/sshd_config, cela empêche nxserver de se charger en français ou autre (variable LANG non prise en compte)

Dernière modification par ptitpoul (Le 16/11/2006, à 16:36)

Hors ligne