La commande de gestion des clés SSH ssh-keygen s'appuie sur OpenSSL. Quelques notes à propos de la gestion des clés d'authentification.
Ces deux algorithmes de chiffrements asymétriques sont utilisables. Historiquement DSA a été développé alors que RSA préexistant n’était pas exploitable pour des raisons de brevet.
Quel que soit l'algorithme, ne pas générer de clé de taille inférieure à 2048 bits.
ssh-keygen -t rsa -b 4096 -C username@domain.tld -f output_file
L'argument -C permet de définir un commentaire, en général désignant l'utilisateur. La commande produit deux fichiers dans le répertoire ~/.ssh/ de l'utilisateur.
Pour modifier la passphrase:
$ ssh-keygen -p -f ~/.ssh/id_rsa
Il est possible d'ajouter un commentaire ou un descriptif à une paire de clés préexistante. Ça peut devenir plus confortable quand on utilise plusieurs clés.
# On ajoute le commentaire "My user name" sur la clé pré-existante user_id ssh-keygen -c -C "My user name" -f ~/.ssh/user_id
La clé publique a normalement été copiée sur les machines distantes dans le fichier ~/.ssh/authorized_keys. On peut regénérer la clé publique grâce à la clé privée et à la commande ssh-keygen:
ssh-keygen -y -f private_dsa.key > key.pub
$ ssh-copy-id -i /chemin/man_cle/id_dsa.pub user@ip_machine
Pour que la commande puisse s’exécuter correctement:
Dans le cas contraire, il faudra communiquer la clé publique à l'administrateur du serveur distant.