
Pour sécuriser un serveur SSH, vous pouvez avoir la bonne idée de n’autoriser que la connexion par clé privée. Dans l’idée, ça ne permettra l’authentification SSH qu’aux utilisateurs ayant leur clé publique enregistrée sur le serveur SSH distant.
Du coup, personne ne pourra tenter d’attaquer par Bruteforce votre serveur SSH, même pas besoin de Fail2Ban !
Attention ! Vous devez au préalable vous connecter avec une clé privée via OpenSSH pour installer votre clef privée sur le serveur. Si vous ne faites pas cette étape en amont, vous risquez de bloquer toutes les connexions SSH !
Comment empêcher OpenSSH d’utiliser l’authentification par mot de passe
Pensez à ouvrir au préalable une seconde session SSH si vous n’avez pas d’accès physique au serveur. Si jamais un problème arrive, vous aurez un moins un accès pour revenir à la configuration précédente.
- Commencez par créer une clé public, et envoyez-là sur le serveur pour tous les utilisateurs dont vous souhaitez donner l’accès.
- Éditez le fichier de configuration suivant :
nano /etc/ssh/sshd_config
- Changez les valeurs suivantes pour empêcher l’authentification par mot de passe.
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
- Redémarrez le service SSH.
systemctl restart ssh
Si jamais vous souhaitez rajouter un utilisateur, vous devrez au préalable désactiver la configuration si dessus, et relancer le processus pour envoyer la clé publique du nouvel utilisateur sur le serveur.
Exemple d’authentification par mot de passe d’un utilisateur
Seuls les utilisateurs ayant enregistrés leur clé privée sur le serveur OpenSSH peuvent s’authentifier.

Nicolas
salut
« ne permettra l’authentification SSH qu’aux utilisateurs ayant leur clé privée enregistrée sur le serveur SSH distant. »
c’est la clé publique qui est enregistrer sur le serveur
• Lien vers le commentaire
Alex Soyer Auteur(e) de l'article
Hello,
Corrigé, merci 🙂
• Lien vers le commentaire