Introduction
La gestion manuelle de vos clés SSH peut vite devenir laborieuse, surtout lorsque l’on travaille sur plusieurs projets ou hôtes distants. Avec ssh-keybuild, j’ai voulu créer un outil simple, robuste et polyvalent pour :
- Générer des clés ed25519 ou rsa en un clin d’œil
- Ajouter automatiquement la clé à un agent SSH
- Copier la clé publique dans le presse-papier
- Mettre à jour votre
~/.ssh/config
sans duplications
Dans cet article, nous décortiquons les principales fonctionnalités du script et comment l’adopter en quelques minutes.
Où trouver le script
Le code complet est disponible sur GitHub : ssh-keybuild.sh
Installation rapide
Clonez simplement le script quelque part dans votre PATH, par exemple :
git clone https://github.com/mhbxyz/useful-shell-scripts.git ~/.local/bin/useful-shell-scripts
ln -s ~/.local/bin/useful-shell-scripts/ssh-keybuild.sh ~/.local/bin/ssh-keybuild
chmod +x ~/.local/bin/ssh-keybuild
Usage et options
ssh-keybuild -e email@example.com \
[-n nom_de_la_cle] \
[-t ed25519|rsa] \
[-m "Mon commentaire"] \
[-p true|false] \
[-c true|false] \
[-h hostname.com] \
[-a alias]
- -e (requis) : adresse e‑mail associée
- -n : nom du fichier clé (défaut
id_key
) - -t : type de clé (
ed25519
par défaut, oursa
) - -m : commentaire à inclure
- -p : ajouter à l’agent SSH (
false
par défaut) - -c : copier la clé publique (
true
par défaut) - -h : hôte à insérer dans
~/.ssh/config
- -a : alias pour l’hôte (par défaut, même que l’hôte)
Fonctionnalités avancées
- Génération conditionnelle
Le script détecte automatiquement votre choix de type de clé et adapte la commande
ssh-keygen
. - Sécurité par défaut
Le répertoire
~/.ssh
est créé avec les bons permissions (700
), et le fichierconfig
reçoit600
. - Idempotence de la config
Avant d’ajouter un bloc
Host
, le script vérifie qu’il n’existe pas déjà, pour éviter toute duplication.
Exemple concret
ssh-keybuild -e moi@exemple.com -t rsa -m "Usage pro" -p true -h github.com
En moins de 30 secondes, votre nouvelle clé RSA 4096 bits est générée, ajoutée à l’agent, copiée dans le presse‑papier et votre config SSH se met à jour.
Conclusion
ssh-keybuild vous fait gagner un temps précieux et élimine les erreurs manuelles. Si, comme moi, vous gérez plusieurs clés et hôtes, ce script deviendra vite indispensable !