SSH : Comment interdire l'authentification par mot de passe ?
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