Bonjour les geeks Linux, c'est toujours une bonne pratique que les systèmes Linux soient ssh avec des clés plutôt que le mot de passe. Les clés SSH (Secure Shell) nous offrent un moyen sécurisé de se connecter aux serveurs de type Linux et UNIX. Lorsque nous accédons à des systèmes Linux avec des clés SSH, cela s'appelle également une authentification SSH sans mot de passe.
Dans cet article, nous allons apprendre à configurer l'authentification SSH sans mot de passe avec des clés sous Linux.
Détails de la configuration de l'atelier :
- Hôte de saut (Rocky Linux) - Client SSH - 192.168.1.135
- Système Linux distant (Ubuntu 20.04) – 192.168.1.130
Plongeons-nous dans les étapes,
Étape 1) Générer des clés SSH sur l'hôte Jump à l'aide de la commande ssh-keygen
Connectez-vous pour sauter l'hôte, dans mon cas, j'utilise 'sysadm'. Exécutez la commande ssh-keyen pour générer des clés publiques et privées pour sysadm à l'aide de l'algorithme rsa
$ ssh-keygen -t rsa
Cette commande vous invitera à entrer le chemin des clés publiques et privées, si vous souhaitez conserver le chemin par défaut, appuyez sur Entrée et appuyez également sur Entrée lorsque vous êtes invité à définir la phrase secrète.
La sortie de la commande ssh-keygen ressemblerait à ci-dessous,
Remarque :Par défaut, la commande ssh-keygen génère des clés de taille 2048 bits. Si vous souhaitez modifier la taille des clés, utilisez l'option "-b" suivie de la taille en bits. L'exemple est montré ci-dessous,
$ ssh-keygen -t rsa -b 4096
Étape 2) Copiez la clé publique de l'utilisateur sur le système Linux distant
Utilisez la commande 'ssh-copy-id' pour copier la clé publique de l'utilisateur dans le fichier authorized_keys de l'utilisateur du système Linux distant.
Syntaxe :ssh-copy-id
$ ssh-copy-id [email protected]
Sortie
Étape 3) Testez l'authentification SSH sans mot de passe
Essayez maintenant de vous connecter en ssh au système distant à partir de l'hôte de saut.
$ ssh [email protected]
Sortie,
Parfait, la sortie ci-dessus confirme que nous pouvons nous connecter au système distant sans spécifier de mot de passe.
Voici les points importants à prendre en compte lors de la configuration de l'authentification sans mot de passe.
- Une fois les clés échangées et testées, nous devons désactiver la connexion root et l'authentification par mot de passe pour root et les autres utilisateurs.
Pour ce faire, modifiez le fichier "/etc/ssh/sshd_config" et définissez les paramètres suivants.
PermitRootLogin no PubkeyAuthentication yes PasswordAuthentication no UsePAM yes
Enregistrez et quittez le fichier et redémarrez le service ssh en utilisant la commande systemctl ci-dessous.
$ sudo systemctl restart sshd
- Un autre point important est que l'utilisateur distant, dans notre cas "kadmin", doit faire partie du groupe sudo et avoir des droits d'administrateur afin qu'il puisse effectuer des tâches administratives.
C'est tout de cet article, j'espère que vous l'avez trouvé informatif, veuillez déposer vos questions et commentaires dans la section des commentaires ci-dessous.
Lire aussi : 10 exemples de commandes iftop sous Linux