Outils pour utilisateurs

Outils du site


prog:ssh

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ées ssh-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
prog/ssh.txt · Dernière modification : 2021/02/22 09:46 de root