L’une des meilleures pratiques de sécurité OpenSSH bien connues et généralement acceptées consiste à configurer et à utiliser l’authentification par clé publique, c’est-à-dire l’authentification sans mot de passe. Bien que cette approche soit fondamentalement destinée à la sécurité, sur une note plus légère, elle permet également une utilisation facile car vous n’avez pas à saisir un mot de passe à chaque fois que vous essayez de vous connecter à votre serveur.
Ce guide vous guidera à travers les étapes requises pour configurer l’authentification sans mot de passe SSH ainsi que pour désactiver l’authentification par mot de passe sur ouvrirSUSE 15.3.
Environnement de test :
- Ubuntu local avec client ssh – 192.168.56.1
- Serveur distant openSUSE 15.3 – 192.168.56.101
Étape 1 : Générer une paire de clés publique/privée SSH
Pour créer la paire de clés, utilisez le ssh-keygen commande avec le -t
flag pour spécifier le type de clé. S’il est utilisé sans aucun argument, une clé RSA 2048 bits sera générée. Par défaut, la clé privée sera stockée sous le ~/.ssh/id_rsa répertoire et la clé publique sous ~/.ssh/id_rsa.pub.
Notez que vous pouvez générer une paire de clés avec un nom personnalisé. De plus, si vous avez l’intention d’utiliser la paire de clés pour une connexion interactive, vous pouvez définir un phrase de passe (synonyme de mot de passe d’accès et d’utilisation de la clé) lors de la génération de la bi-clé.
$ ssh-keygen
Confirmez maintenant que la paire de clés a été générée sous le ~/.ssh répertoire à l’aide de la commande ls comme indiqué.
$ ls -la .ssh/my_key*
Étape 2 : Télécharger la clé SSH sur le serveur openSUSE distant
Ensuite, téléchargez la clé publique sur la télécommande ouvrirSUSE serveur utilisant le ssh-copy-id commande comme suit. Utilisez le -i
flag pour spécifier le chemin d’accès à la clé publique et entrez votre mot de passe ssh lorsque vous y êtes invité :
$ ssh-copy-id -i .ssh/my_key.pub [email protected]
Pointe: Si vous obtenez le « Déconnexion reçue du port 192.168.56.101 22:2 : trop d’échecs d’authentification, déconnexion du port 22 192.168.56.101” erreur, utilisez le IdentitiesOnly=yes
option comme décrit dans la commande suivante.
$ ssh-copy-id -i .ssh/my_key.pub -o IdentitiesOnly=yes [email protected]
Étape 3 : Connectez-vous à openSUSE sans SSH sans mot de passe
Vérifiez maintenant la connexion sans mot de passe à distance au serveur openSUSE. Essayez de vous connecter avec votre clé privée comme suit. Entrez votre phrase de passe chaque fois que vous êtes invité à la fournir.
$ ssh -i .ssh/my_key [email protected]
Étape 4 : Désactiver l’authentification par mot de passe SSH
Mise en garde: Assurez-vous d’avoir configuré et testé avec succès l’authentification sans mot de passe avant de désactiver l’authentification par mot de passe, sinon vous risquez de vous exclure du ouvrirSUSE serveur.
Pour désactiver l’authentification par mot de passe, assurez-vous que Authentification par mot de passe et ChallengeResponseAuthentication les directives de configuration sont définies sur no
et UtiliserPAM est réglé sur yes
comme indiqué dans la capture d’écran suivante.
Enregistrez les paramètres récents et redémarrez le sshd démon/service comme indiqué.
$ sudo systemctl restart sshd
Désormais, tout utilisateur du ouvrirSUSE serveur qui essaie de se connecter avec une authentification par mot de passe rencontrera l’erreur illustrée dans la capture d’écran suivante.
C’est tout pour le moment. Pour obtenir plus d’informations à ce sujet, contactez-nous via le formulaire de commentaires ci-dessous.
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.
Nous sommes reconnaissants pour votre soutien sans fin.