Openssh chrooter avec nxserver free

Fermé
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 - 15 oct. 2006 à 22:44
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 - 20 oct. 2006 à 19:50
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 :

https://www.nomachine.com/download

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
A voir également:

4 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
16 oct. 2006 à 16:45
Salut,

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/

Cette directive ne concerne que l'emplacement de ce fichier?
si tu la mets en commentaire alors ssh va utiliser l'emplacement par défaut qui est (allez on va rigoler) : %h/.ssh/authorized_keys

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 ???

C'est tout à fait normal.
Dans ton fichier de configuration tu as ça

RSAAuthentication yes
PubkeyAuthentication yes


Il faut mettre no au lieu de yes.

lami20j
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
16 oct. 2006 à 20:02
salut lami20j,

ok, alors quand on met en commentaire une option, c'est celle par defaut qui est prise en compte.

Cetait peut-être une question idiote mais bon maintenant je le suis moins :)

Bref ça ne répond à mon objectif, pourquoi? parceque si je met "no" à l'option "authorisation du mot de passe", je ne peux plus utiliser nxserver. Alors comment faire pour a la fois utiliser mon serveur ssh à partir d'un compte en authentification par clés et nxserver également par authentification par clés. A savoir que les chemins ne sont pas les mêmes :

pour ma la clé de mon compte ssh = /home/acer/.ssh/authorized_keys

et

pour ma clé nxserver = /usr/NX/home/nx/.ssh/authorized_keys2

Peut-on creer la clé pour nxserver de cette façon ?:

ssh-keygen -t dsa -b 1024 -C "clé-nxserver"

et copié la clé dans authorized_keys2 et dans /usr/NX/home/nx/.ssh/

si oui, alors dans ce cas comment dire à sshd_config d'aller chercher ce fichier?

peut-être en rajoutant une ligne de ce type dans /usr/local/etc/sshd_config :

AuthorizedKeysFile /usr/NX/home/nx/.ssh/authorized_keys2
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
16 oct. 2006 à 21:15
Re,

alors dans ce cas comment dire à sshd_config d'aller chercher ce fichier?

peut-être en rajoutant une ligne de ce type dans /usr/local/etc/sshd_config :


Tu viens de repondre à ta question ;)

AuthorizedKeysFile /usr/NX/home/nx/.ssh/authorized_keys2


lami20j
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
16 oct. 2006 à 21:31
ok j'essais ....
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
17 oct. 2006 à 00:00
non ça ne fonctionne pas de cette façon
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
18 oct. 2006 à 21:05
bonjour,

j'ai essayé multiples possibilité pour utiliser l'authentification par clé de nxfree sans succès.

La seule façon de faire fonctionner l'utilisation du serveur ssh et nxfree, c'est de mettre ces options :

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


seule problème: l'accès à ssh se fait à la fois avec le mot de passe et le passphrase. Celui-ci n'a donc plus d'intêret :(

en fait au login de nxfree, le mot de passe est la seule possibilité donc pas de passphrase possible.

Voilà si quelqu'un à une idée pour intégré une clé personnalisée sur la version nxfree 2.1.0-9 car sur cette version les commandes nxsetup ne fonctionnent pas .

A+
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
20 oct. 2006 à 19:50
salut,

Bien, après multiples essais et multiples recherches, je n'ai pas reussi à faire ce que je voulais, mais je suis tombé sur ce lien :

https://help.ubuntu.com/community/FreeNX

il dit ceci:

Using custom SSH keys
<code>This is NOT supported by the FreeNX developers - only do this if you have no other option

   1. Generate the DSA private-public key pair.

       ssh-keygen -t dsa

      By default this key is places in ~/.ssh/id-dsa. You can leave the passphrase empty, this will not pose a security risk.

   2. Install the public key in the FreeNX serving machine. The key should be placed in the file authorized_keys2 in the .ssh dir of the user named nx.

      cat ~/.ssh/id_dsa.pub | sudo -u nx tee -a ~nx/.ssh/authorized_keys2



j'ai donc essayé de cette façon mais au login de freenx, j'ai un message disant que :

"la clé dsa est protégée par un passphrase "

normal avec la commande ssh-keygen -t dsa. Le login n'accepte que les mot de passe et pas de passphrase.

En conclusion, il semble impossible de creer une clé avec passphrase seule la clé par defaut fonctionne à condition de mettre en commentaire cette ligne :

AuthorizedKeysFile /serveur_ssh/serveur_famille/serveur_ssh/famille-ubuntu/.ssh/authorized_keys

dans /usr/local/etc/sshd_config

et mettre ces options :

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile	
AuthorizedKeysFile	/usr/NX/home/nx/.ssh/authorized_keys2
AllowUsers famille-ubuntu acer nx
PasswordAuthentication no


De cette manière, je peux acceder à la fois à mon serveur chrooter et à freenx mais avec seulement le mot de passe. La sécurité est donc faible :(
0