Comment générer une clé SSH publique/privée sous Linux

Si vous utilisez fréquemment SSH pour vous connecter à un hôte distant, l’une des manières de sécuriser votre serveur SSH est d’utiliser une clé SSH publique/privée pour éviter la transmission de mots de passe sur le réseau. Cela peut également prévenir les attaques par force brute.
Sous Linux, créer une clé SSH publique/privée est facile.
- Ouvrez un terminal. Tapez :
ssh-keygen-t rsaAlternativement, vous pouvez également utiliser la technologie DSA (Digital Signing Algorithm) pour créer la clé publique/privée.
ssh-keygen-t dsaRemarque : il y a eu beaucoup de débats sur la sécurité de DSA et RSA. À mon avis, à moins que vous ne soyez très pointilleux et que vous aimiez plonger dans les détails techniques entre les deux technologies, cela n’a pas d’importance laquelle des deux vous choisissez. Les deux fonctionneront bien.
- À l’écran suivant, vous devriez voir une invite qui demande l’emplacement où enregistrer la clé. L’emplacement par défaut est le dossier .ssh dans votre répertoire personnel. Appuyez sur Entrée pour accepter le paramètre par défaut.

- Vous serez invité à entrer une phrase secrète – NON la phrase secrète pour vous connecter à votre hôte distant, mais la phrase secrète pour déverrouiller la clé privée afin que personne ne puisse accéder à votre serveur distant même s’il obtient votre clé privée. La phrase secrète est optionnelle. Pour la laisser vide, appuyez simplement sur Entrée.

- Votre clé SSH publique et privée devrait maintenant être générée. Ouvrez le gestionnaire de fichiers et accédez au répertoire .ssh. Vous devriez voir deux fichiers : id_rsa et id_rsa.pub.

- Téléchargez votre nouvelle clé SSH publique vers votre hôte distant en exécutant la commande suivante :
ssh-copy-id nom_utilisateur@adresse-ip-hôte-distant
- Connectez-vous à votre hôte distant et modifiez votre fichier de configuration SSH :
ssh nom_utilisateur@adresse-ip-hôte-distant
sudonano/etc/ssh/sshd_configFaites défiler le fichier de configuration et assurez-vous que les attributs suivants sont définis correctement :
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication noAppuyez sur Ctrl + O pour écrire et enregistrer le fichier, puis Ctrl + X pour fermer le fichier.

- Redémarrez le serveur SSH sur l’hôte distant :
sudo systemctl restart sshC’est fait. Vous pouvez maintenant vous connecter à votre hôte distant avec la commande suivante :
ssh nom_utilisateur@adresse-ip-hôte-distant
Questions Fréquemment Posées
J’ai copié ma clé SSH sur mon serveur distant et je reçois une erreur “Permission refusée”.
Ce problème est probablement dû à un problème avec le dossier “.ssh” de votre hôte distant. Par défaut, le démon SSH rejette toute connexion entrante si son dossier de configuration et son fichier “authorized_keys” n’ont pas les bons bits de permission.
Pour changer les permissions des fichiers et des dossiers, accédez à une console locale pour votre machine distante, puis allez dans votre répertoire “/home” et exécutez : chmod 700 /home/$USER/.ssh && chmod 600 /home/$USER/.ssh/authorized_keys. Enfin, redémarrez le démon pour appliquer vos nouveaux paramètres : sudo systemctl restart ssh.
Est-il possible de créer plusieurs clés SSH pour le même serveur distant ?
Oui ! Cependant, vous devez vous assurer que chaque clé SSH sur votre machine a un nom de fichier unique en exécutant : ssh-keygen -f /home/$USER/.ssh/nom_fichier.
En dehors de cela, assurez-vous de spécifier la clé que vous souhaitez utiliser pour vous connecter à votre hôte distant en exécutant : ssh -i /home/$USER/.ssh/nom_fichier [email protected]ôte.distant.
Est-il possible d’importer une nouvelle clé SSH sur un hôte distant avec une ancienne clé fonctionnelle ?
Oui ! D’abord, importez votre nouvelle clé dans l’agent d’authentification SSH : ssh-add. Ensuite, connectez-vous à votre ancienne machine et importez sa clé dans le même agent d’authentification : ssh -A adresse.machine.ancienne && ssh-add -c.
Enfin, quittez l’ancienne machine en appuyant sur Ctrl + D et connectez-vous à votre hôte distant avec vos nouvelles et anciennes clés.
Crédit image : Unsplash. Toutes les modifications et captures d’écran par Ramces Red.