Connexion Clé SSH
Génération de la paire de clés:
Pour générer la paire de clé utiliser ssh-keygen
. On préfèreras générer une clé en ECSDA d'une longueur supérieur à 256 bits pour respecter les recommandations R9 et R10 du guide de l'ANSSI sur OpenSSH. La clé publique est facilement reconnaissable car elle se fini en .pub.
ssh-keygen -t ecdsa -b 521
Il est possible de protéger les clés avec une phrase de passe. Cette phrase de passe doit être rentrée à chaque utilisation de la clé, ce qui n'est pas une bonne chose pour l'automatisation. Pour palier ce problème il est possible d'utiliser l'agent SSH ssh-agent
qui va servir de trousseau de clé.
Partage de la clé publique
La clé publique est celle qui doit être présente dans le fichier authorized_keys sur le serveur distant. Il est recommander d'utiliser ssh-copy-id qui vas créer les fichier nécessaires et ajouter la clé automatiquement. Ce dernier n'est pas toujours disponible, alors il faut s'orienter vers des méthodes plus manuel.
ssh-copy-id:
ssh -i ~/.ssh/mykey user@host
Manuel:
Commencer par copier la clé publique sur le serveur distant, pas exemple avec scp:
scp mykey.pub user@host:/home/user
Puis ajouter la clé au fichier authorized_keys:
echo -e "\n"`cat mykey.pub` >> .ssh/authorized_keys
Agent SSH:
L'agent SSH permet de garder les clés de manière protégé en mémoire pour qu'elles puissent être utilisées sans entrer la phrase de passe. (Les clés sont gardée même après un redémarrage.)
Sous Windows :
Élévation de privilège requise
Sous Windows l'agent SSH est désactivé par défaut. Il est possible de l'activer avec une commande Powershell:
Set-Service ssh-agent -StartupType Automatic
Cette commande est l'équivalent d'aller dans le gestionnaire des services et de passer le démarrage du service OpenSSH Authentication Agent en "Automatique". Le démarrage "Automatique" veut dire que le service démarreras au démarrage de Windows.
Si l'on veut uniquement démarrer l'agent juste pour la durée de la session il est nécessaire de premièrement activer le service, puis de le démarrer :
Set-Service ssh-agent -StartupType Manual; Start-Service ssh-agent
No Comments