Post-it : L'authentification SSH par clés RSA/DSA
publié par pampryl, le vendredi 17 juillet 2009 à 11:39, dans la catégorie Tutoriels.
Utiliser une paire de clés privée/publique pour les connections SSH permet au choix :
- Augmenter la sécurité (Lorsqu'il faut à la fois la clé privée et la passphrase permettant son ouverture)
- Eviter de taper un mot de passe (si la clé privée n'est pas protégée par une passphrase -> à éviter si le lieu de stockage de la clé privée n'est pas fiable.
Voici comment créer et utiliser une paire de clés sur un serveur.
Générer la paire de clés
Rien de plus simple. Sur l'ordinateur qui deviendra le futur client SSH, il suffit de lancer la commande ssh-keygen.
toto@host$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/toto/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: ... toto@host$
Envoyer la clé publique au serveur
Ici j'utilise un petit enchaînement simple pour copier le contenu de ma clé publique dans le fichier authorized_keys du compte visé sur le serveur.
J'envoie la clé publique sur le serveur dans un fichier authorized_keys2 :
toto@host$ scp ~/.ssh/id_rsa.pub user@server:/home/user/.ssh/authorized_keys2
Ensuite on se connecte de manière classique (ssh et mot de passe) sur le serveur pour ajouter la clef à la vraie liste de clés publiques autorisées.
toto@host$ ssh user@server user@server password: user@server$ cat /home/user/.ssh/authorized_keys2 >> /home/user/.ssh/authorized_keys user@server$ rm /home/user/.ssh/authorized_keys2 user@server$ exit toto@host$
Tester
toto@host$ ssh user@server user@server$
Et le tour est joué !