SSH : Comment interdire l'authentification par mot de passe ?

Autoriser seulement les connexions SSH par clé privée..

Mettre un système d'authentification par cryptographie asymétrique est une excellente chose, mais tous ces efforts peuvent être réduits à néant si vous oubliez de désactiver l'authentification par mot de passe.

L'option PasswordAuthentication du fichier sshd_config a, par défaut, la valeur "yes". Il suffit de dé-commenter la ligne correspondante et de mettre l'option à "no" pour désactiver les mots de passe. Ce tutoriel a été rédigé sur une Debian Squeeze et le fichier sshd_config ne se trouve pas forcément au même endroit sur d'autres distributions. Par exemple sous Debian il est dans /etc/ssh alors que sous OS X c'est dans /etc directement. Vous trouverez sûrement un fichier ssh_config à côté de sshd_config, les deux sont des fichiers de configuration pour OpenSSH mais le deuxième est plus intéressant dans notre cas car il concerne le démon.

Pour rappel : Qu'est ce qu'un processus démon ?, Comment fonctionne une connexion SSH ?

Evidemment pour ce genre de manoeuvres il faut être root.

/etc/ssh/sshd_config

# To disable tunneled clear text passwords both PasswordAuthentication and # ChallengeResponseAuthentication must be set to "no". PasswordAuthentication no

Il faut maintenant redémarrer le service SSH.

Redémarrer le démon SSH

/etc/init.d/ssh restart Restarting OpenBSD Secure Shell server: sshd. # OU service ssh restart