Table des matières
Création d'une clé
Sans mot de passe
Cela peut être utile pour un système d'intégration continue qui souhaite pousser des données dans un autre dépôt. Alors, cette clé secrète stockée dans le logiciel de CI et dans le gestionnaire de version.
Il faut impérativement saisir un mot de passe vide sinon git push
le demandera et il ne sera pas possible de le saisir puisque exécuté depuis un script.
L'adresse mail doit être la même que celle qui aura été utilisé pour faire un git commit
. Ce n'est pas obligatoire mais conseillé pour s'y retrouver.
ssh-keygen -m PEM -t rsa -b 4096 -f 'reponame.key' -N "" -C "mail@example.com"
L'option -m PEM
va créer une clé avec l'entête -----BEGIN RSA PRIVATE KEY-----
. C'est fortement conseillé car une clé générée au format -----BEGIN OPENSSH PRIVATE KEY-----
sur Windows ne sera pas forcément compatible avec Linux, contrairement au format RSA.
Cela va créer deux fichiers :
- le fichier
key.pub
qui contient les donnéesssh-rsa AAAA..w== mail@example.com
- le fichier
.key
qui contient les données-----BEGIN/END OPENSSH PRIVATE KEY-----
.
Convertir une clé ''OPENSSH'' au format ''RSA''
Il est possible de convertir les données -----BEGIN/END OPENSSH PRIVATE KEY-----
en -----BEGIN RSA PRIVATE KEY-----
par la commande (attention, cela remplace le fichier d'origine) :
ssh-keygen -p -m PEM -f file.key
C'est d'ailleurs plutôt conseillé, OpenSSH ayant du mal à fonctionner à l'identique entre Windows et Linux. (File decryption fails (wrong final block length) on Windows Archive du 03/09/2015 le 04/04/2020)
Connexion sans mot de passe
Pour se connecter du PC A
vers le PC B
:
Sur le PC A
:
ssh-keygen
et appuyez directement sur Entrée lors de la sélection du mot de passe.
Sur le PC A
vers le PC B
:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
How to Setup Rsync with SSH on UNIX _ Linux (rsync without password) Archive du 15/04/2011 le 29/04/2020
Sinon, il est possible de remplacer la commande ssh-copy-id
par un ajout manuel du contenu du fichier ~/.ssh/id_rsa.pub
au fichier distant ~/.ssh/authorized_keys
Use SSH Keys with PuTTY on Windows Archive du 04/12/2014 le 03/02/2021
Trucs et astuces
- Gérer plusieurs clés privées
Ajouter au fichier ~/.ssh/config
:
- config
IdentityFile ~/.ssh/id_rsa IdentityFile ~/.ssh/id_rsa_old IdentityFile ~/.ssh/id_ed25519