🔑 Gestion des clés SSH
🔑 Gestion des clés SSH
Guide complet pour la gestion, sélection et configuration des clés SSH dans xsshend
🎯 Vue d’ensemble
xsshend offre une gestion complète des clés SSH avec détection automatique, sélection interactive et génération automatique. Le système simplifie l’authentification SSH en gérant automatiquement les différents types de clés.
🔄 Configuration automatique
Première utilisation
Au premier lancement, xsshend :
- Détecte l’absence du répertoire
~/.ssh/
- Crée automatiquement le répertoire et les fichiers nécessaires
- Vérifie la présence de clés SSH existantes
- Propose la génération d’une clé Ed25519 si aucune n’est trouvée
- Guide l’utilisateur dans le processus
Génération automatique
❌ Aucune clé SSH trouvée dans ~/.ssh/
🔑 Pour utiliser xsshend, vous avez besoin d'une clé SSH privée.
Voulez-vous générer une nouvelle clé SSH Ed25519 ? (o/N): o
Entrez votre adresse email (optionnel): user@example.com
🔄 Génération de la clé SSH en cours...
✅ Clé SSH Ed25519 générée avec succès: ~/.ssh/id_ed25519
Structure créée
~/.ssh/
├── hosts.json # Configuration serveurs
├── id_ed25519 # Clé privée SSH
├── id_ed25519.pub # Clé publique SSH
└── config # Configuration SSH (optionnel)
🎯 Sélection des clés
Options disponibles
1. Sélection interactive (--ssh-key-interactive
)
xsshend upload file.txt --ssh-key-interactive
Interface de sélection :
🔑 Sélection de la clé SSH...
🔑 Plusieurs clés SSH disponibles:
? Sélectionnez la clé SSH à utiliser ›
❯ id_rsa (RSA) - william.derue@gmail.com
id_rsa_ci_cd (RSA) - ci-cd@smartdoc.com
company_key (OpenSSH) - company-admin
runpod_ed25519 (Ed25519) - william.dernier@gmail.com
2. Spécification par nom (--ssh-key <nom>
)
xsshend upload file.txt --ssh-key id_rsa
xsshend upload file.txt --ssh-key company_key
3. Sélection automatique forcée (--ssh-key-auto
)
xsshend upload file.txt --ssh-key-auto
Priorité : Ed25519 > RSA > ECDSA > Autres
4. Comportement par défaut
xsshend upload file.txt
Sélection intelligente avec information à l’utilisateur.
🔍 Détection des clés
Clés standard recherchées
id_ed25519
- Clé Ed25519 (recommandée)id_rsa
- Clé RSA standardid_ecdsa
- Clé ECDSAid_dsa
- Clé DSA (obsolète)
Clés personnalisées
- Tous les fichiers dans
~/.ssh/
contenant “PRIVATE KEY” - Détection automatique du type de clé
- Support des commentaires dans les clés publiques
🛡️ Sécurité
Meilleures pratiques
- âś… Algorithme Ed25519 : Cryptographie moderne et rapide
- ✅ Permissions strictes : Clé privée avec permissions 600
- âś… ssh-agent : Support transparent des passphrases
- ✅ Rotation régulière : Renouvellement des clés
Recommandations
# Ajouter une passphrase à une clé existante
ssh-keygen -p -f ~/.ssh/id_ed25519
# Vérifier les permissions
ls -la ~/.ssh/
chmod 600 ~/.ssh/id_*
chmod 644 ~/.ssh/*.pub
đź”§ Exemples pratiques
Développement
# Sélection interactive pour différents environnements
xsshend upload app.jar --env Production --ssh-key-interactive
Automation/CI-CD
# Spécification directe dans les scripts
xsshend upload deploy.tar.gz --ssh-key ci_cd_key --env Production
Utilisation quotidienne
# Laisser xsshend choisir intelligemment
xsshend upload file.txt --env Staging
# Affiche : "🔑 Clé sélectionnée automatiquement: company_key (RSA)"
🔍 Diagnostic et dépannage
Voir les clés détectées
# Mode dry-run pour voir la sélection sans transfert
xsshend upload file.txt --ssh-key-interactive --dry-run
Messages d’erreur courants
Clé non trouvée :
❌ Clé SSH 'inexistante_key' non trouvée
Solution : Vérifiez le nom avec ls ~/.ssh/
Aucune clé disponible :
🔑 Aucune clé SSH trouvée, utilisation de ssh-agent
Solution : Configurez ssh-agent ou créez des clés SSH
Authentification échouée :
❌ Échec de l'authentification SSH pour l'utilisateur 'user'
Solution : Vérifiez que la clé publique est déployée sur le serveur
🔄 Migration et compatibilité
Depuis l’ancienne version
# Ancienne commande (fonctionne toujours)
xsshend upload file.txt
# Nouveau comportement : sélection intelligente + information
# Pour reproduire l'ancien comportement
xsshend upload file.txt --ssh-key id_ed25519
# Pour avoir le contrĂ´le complet
xsshend upload file.txt --ssh-key-interactive
Types de clés supportés
- ✅ Ed25519 (recommandé)
- âś… RSA (2048+ bits)
- âś… ECDSA
- ⚠️ DSA (obsolète, support limité)