Gestion de mes clés ssh
- 387 words
- 2 min
Je n'avais jamais vraiment cherché à faire ça proprement, mais voilà comment j'ai géré mes clés ssh :
Générer une paire de clé
On génère facilement une paire de clé avec ssh-keygen optionnellement protégées par un mot de passe.
h30x@crow:~$ ssh-keygen -f ~/.ssh/clef
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in clé
Your public key has been saved in clef.pub
The key fingerprint is:
SHA256:5CaC5ICQ43yhuy/l+WJXH/F87UcAUdeLLg9zl9bYO8c hugo@crow
The key's randomart image is:
+---[RSA 3072]----+
|.. .o. o|
|= . . ..|
|=.o . . .. .|
| B o o . ... |
| = . . S + . .+o|
| . . . + . * +.=+|
| + . . . . B +o.|
| o = . . . +E|
| +.+. +|
+----[SHA256]-----+
Plus de détails dans le man (man ssh-keygen) mais là, ça m'a généré une paire de clés rsa dans le dossier ~/.ssh/.
Demander à un serveur d'accepter cette paire de clé
Si je veux demander à un serveur d'accepter cette clé, je peux utiliser ssh-copy-id qui copie ma clé publique dans le fichier ~/.ssh/authorized_keys à ma place :
h30x@crow:~$ ssh-copy-id -i ~/.ssh/clef localhost
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/hugo/.ssh/clef.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
hugo@localhost's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'localhost'"
and check to make sure that only the key(s) you wanted were added.
ensuite, je peux me logger avec ma clé :
hugo@crow:~$ ssh -i ~/.ssh/clef localhost
et même changer mon ~/.ssh/config avec les lignes suivantes pour choisir cette clé par défaut pour cet hôte :
Host localhost
IdentityFile ~/.ssh/clef
Bien entendu, on peut remplacer localhost par n'importe quel hôte comme par exemple h30x@fr.tild3.org, ce qui est quand même plus utile ! Il faut bien faire attention aux permissions des fichiers. Par exemple, le ~/.ssh/ doit être en 700.
Faire un backup de mes clés
Si mes clés sont précieuses (par exemple c'est la seule manière de rentrer sur un serveur) je peux les backuper sur un clé USB.