Découvrez comment générer une paire de clés SSH sur votre machine qui peut ensuite être utilisée pour authentifier votre connexion à un serveur distant.
L'authentification par mot de passe est la méthode par défaut que la plupart des clients SSH utilisent pour s'authentifier auprès de serveurs distants, mais elle souffre de vulnérabilités de sécurité potentielles telles que les tentatives de connexion par force brute. Une alternative à l'authentification par mot de passe consiste à utiliser l'authentification avec une paire de clés SSH, dans laquelle vous générez une clé SSH et la stockez sur votre ordinateur.
Les clés SSH sont un moyen simple d'identifier les ordinateurs de confiance, sans impliquer de mots de passe. Ils sont largement utilisés par les administrateurs réseau et système pour contrôler les serveurs à distance. L'authentification par clé SSH est plus sécurisée que l'authentification par mot de passe et sans doute plus pratique.
Le concept principal est qu'au lieu d'un mot de passe, on utilise un fichier clé qui est pratiquement impossible à deviner. Vous donnez la partie publique de votre clé et lors de la connexion, elle sera utilisée, avec la clé privée et le nom d'utilisateur, pour vérifier votre identité.
Les étapes ci-dessous vous montreront comment générer une paire de clés SSH et ajouter la clé publique au serveur.
Comment générer une paire de clés SSH sous Linux
Lors de la génération de clés SSH sous Linux, vous pouvez utiliser le ssh-keygen
commande. C'est un outil pour créer de nouvelles paires de clés d'authentification pour SSH.
Pour générer une paire de clés SSH, ouvrez le terminal et tapez la commande suivante :
ssh-keygen -t rsa
Appuyez simplement sur Entrée lorsqu'il vous demande le fichier, la phrase secrète, la même phrase secrète. Il génère une paire de clés dans le ~/.ssh
répertoire par défaut.
Vous avez maintenant deux fichiers :
id_rsa
(la clé privée). La clé privée est stockée sur votre ordinateur local et doit être conservée en toute sécurité, avec des autorisations définies de sorte qu'aucun autre utilisateur de votre ordinateur ne puisse lire le fichier.id_rsa.pub
(la clé publique). La clé publique est placée sur le serveur auquel vous avez l'intention de vous connecter. Vous pouvez librement partager votre clé publique avec d'autres.
ls -l /home/linuxiac/.ssh/
drwx------ 2 linuxiac linuxiac 4096 Jul 16 18:31 .
drwxr-xr-x 4 linuxiac linuxiac 4096 Jul 16 18:31 ..
-rw------- 1 linuxiac linuxiac 2610 Jul 16 18:31 id_rsa
-rw-r--r-- 1 linuxiac linuxiac 576 Jul 16 18:31 id_rsa.pub
Vous pouvez placer la clé publique sur n'importe quel serveur, puis vous connecter au serveur en utilisant ssh
. Lorsque les clés publique et privée correspondent, le serveur SSH accorde l'accès sans avoir besoin d'un mot de passe.
Si vous ne savez pas exactement comment procéder, je vous recommande de consulter notre guide court et facile à suivre :Comment configurer une connexion SSH sans mot de passe.
Pour plus de sécurité, vous pouvez générer une clé SSH encore plus grande avec le -b
option. Le -b
flag indique ssh-keygen
pour augmenter le nombre de bits utilisés pour générer la paire de clés, et est suggéré pour plus de sécurité. Par exemple, pour 4096 bits faites :
ssh-keygen -t rsa -b 4096
Conclusion
Dans cet article, vous avez appris à générer des paires de clés SSH à l'aide de ssh-keygen
. . Les clés SSH présentent de nombreux avantages par rapport aux mots de passe :
- Sécurité accrue :Ils sont presque impossibles à forcer ou à deviner.
- Facilité de gestion :plus besoin de créer et de modifier des mots de passe aléatoires.
- Tâches automatisées :Comme vous n'avez pas besoin de saisir votre mot de passe à chaque fois, il est plus facile d'automatiser les tâches nécessitant SSH.
Pour en savoir plus sur ssh-keygen
commande sous Linux, consultez sa page de manuel.
N'hésitez pas à laisser un commentaire si vous avez des questions.