Authentification SSH par clé privé/clé publique

Authentification SSH par clé privé/clé publique

l’authentification par clé necessite 2 clés :
la clé publique et la clé privé. Ces deux clé sont complémantaires
– la clé publique : ~/.ssh/id_dsa.pub
elle devra etre ajoutee sur le serveur dans le fichier ~/.ssh/authorized_keys2 du user utilisé pour la connexion
sur des vieilles versions de ssh ou des OS moins standard, il est possible qu’il s’agisse de :
~/.ssh/authorized_keys
~/.ssh2/authorized_keys2
– la clé privé : ~/.ssh/id_dsa
elle devra rester sur la machine cliente et être bien protégée (quiconque l’aura pourra s’authentifier sur le serveur)
1 ) si il n’y a pas de clés ou que la clé publique a été retirée, créer de nouvelles clés
attention: vous risquez d’ecraser une clé privé existante et ainsi d’empecher la connexion
a un serveur ayant la clé publique correspondante.
#  ssh-keygen -t dsa -P ""
ici on crée des clés de type dsa , avec un mot de passe vide (si on met un mot de passe, il sera demandé à chaque connexion en plus de l’échange de clé)
( # keygen -h pour connaitre toutes les possibilités )
les fichiers suivants sont créés :
~/.ssh/id_dsa
~/.ssh/id_dsa.pub
2 ) ajouter la clé publique d’un client à un serveur
allers sur le client, dans le répertoire ~/.ssh/ du user à utiliser pour la connexion.
copier la clé publique sur le serveur :
# scp id_dsa.pub <user>@<serveur>:.ssh/
vous connecter sur le serveur :
# ssh <user>@<serveur>
(le mot de passe est demandé)
ajouter la clé publique du client dans les clé authorisées du serveur :
# cat .ssh/id_dsa.pub >> .ssh/authorized_keys2
supprimer ce fichier, maintenant inutile
# rm -f .ssh/id_dsa.pub
très important !  si ce n’est pas fait, regler les droits du fichier authorized_keys2, sinon ssh refuse la connexion.
# chmod 600 .ssh/authorized_keys2
vous déconnecter
# exit
vérification :
reconnectez vous au serveur :
# ssh <user>@<serveur>
(cette fois, le mot de passe n’est plus demandé)
Troubleshouting
un mot de passe est toujours demandé :
– si vous avez utilisé une clé existante, celle si a peut-etre un mot de passe, essayez de le retirer avec « ssh-keygen -p »
– verifiez les droits des fichiers présents dans .ssh
– l’authentification par clé a elle été désactivée ? voir dans /etc/ssh/sshd_config du serveur et dans /etc/ssh/ssh_config du client.
pour plus d’info : ajouter l’option « -v » ou « -vv »
se connecter avec PuTTY ?
le format des clé est différent pour le client Putty. utiliser C:\Program Files\PuTTY\puttygen.exe pour convertir la clé (conversion>import key, puis « save private key »)
ensuite dans putty, spécifier la clé sauvegardée dans Connection>SSH>Auth> »Private key file for authentification »
un bon article :
  1. No trackbacks yet.

Laisser un commentaire