Salut à tous,
Ayant eu pas mal de difficultés pour faire fonctionner un serveur freenx j'aurai voulu savoir plus de détails sur son fonctionnement (pour lequel je n'ai trouvé aucune doc suffisamment détaillée) notamment l'authentification avec les clés.
Voilà la configuration :
Serveur : installation de freenx.
Les dossiers importants sont :
/etc/nxserver
|-- node.conf
|-- node.conf.d
|-- nxacl
|-- nxcheckload
|-- nxshadowacl
|-- passwords
|-- passwords.orig
|-- users.id_dsa
`-- users.id_dsa.pub
./var/lib/nxserver/home ( le dossier home de l'utilisateur nx du serveur)
|-- .ssh
| |-- authorized_keys -> authorized_keys2
| |-- authorized_keys2
| |-- client.id_dsa.key
| |-- known_hosts
| `-- server.id_dsa.pub.key
|-- custom_keys
| |-- authorized_keys
| |-- authorized_keys2
| |-- client.id_dsa.key
| `-- server.id_dsa.pub.key
`-- default_keys
|-- authorized_keys2
`-- client.id_dsa.key
/home/user1/.ssh
|-- authorized_keys
|-- id_dsa
`-- id_dsa.pub
L'utilisateur user1 a été ajouté à l'aide de nxserver --adduser puis nxserver --passwd pour le mot de passe.
La paire de clé pour l'authentification est ici personnalisée (choisir custom keys à l'installation de freenx)
Client : simple client de nomachine
Voilà comment se passe l'authentification d'après ce que j'ai compris (et apparemment pour que ça fonctionne)
D'après le log /var/log/auth.log du serveur :
Accepted publickey for nx from port xxxxx ssh2
Accepted publickey for user1 from 127.0.0.1 port yyyyy ssh2
- Le client possède la clé privé copiée depuis le fichier /var/lib/nxserver/home/.ssh/client.id_dsa.key du serveur.
- Lorsque le client se connecte avec le client de nomachine en fournissant la clé privée ci-dessus, il se connecte en fait en ssh au serveur avec l'utilisateur nx
- Une fois cette connexion établie sur le serveur, une nouvelle connexion s'opère (en locale) à l'aide de la clé privée /etc/nxserver/users.id_dsa. L'utilisateur user1 doit par conséquent posséder dans le fichier authorized_keys, la clé publique /etc/nxserver/users.id_dsa.pub pour que cette connexion soit possible.
C'est cette dernière étape qui, selon moi, est bien floue dans tous les tutos que l'on peut trouver sur le net ; perso au début je pensais que l'authentification se faisait directement avec la paire de clés d'un utilisateur du serveur (comme une connexion ssh classique). De plus je pense qu'il peut y avoir confusion avec toutes les paires de clés qui traînent...
Voilà est-ce que je manque quelque chose ?
# Même conclusions que toi...
Posté par aurel (site web personnel, Mastodon) . Évalué à 1.
[^] # Re: Même conclusions que toi...
Posté par jean_clume . Évalué à 2.
Bé la doc est pas mieux et c'est vrai qu'on est obligé de deviner par soit même comment fonctionne l'authentification par clés.
De mon coté, impossible de faire de l'authentification user autre que la façon NX (une bdd avec un login mdp à definir sur le serveur), l'authentification ssh avec NIS n'ayant jamais voulu fonctionner.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.