Pages : 1
#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é 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)
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.
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)
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
Pages : 1