Je pense rapidement que le problème vient de la configuration de sshd. Il est en effet possible d'interdire root de se connecter. Je décommente donc "PermitRootLogin yes" de /etc/ssh/sshd_config. Après redemarrage de sshd, je ne remarque aucune modification. Je ne peux toujours pas me connecter en root !
Un peu plus bas dans le fichier de configuration, je vois :
# Depending on your PAM configuration, this may bypass the setting of # PasswordAuthentication, PermitEmptyPasswords, and # "PermitRootLogin without-password".
Traduction rapide :
# Depend de la votre configuration de PAM, ceci peut outre-passer les configurations de # PasswordAuthentication, PermitEmptyPasswords et # "PermitRootLogin sans mot de passe".
Je regarde dans le journaux d'activité de PAM (/var/log/auth.log) :
Aug 7 11:58:07 myhost PAM-securetty[4811]: access denied: tty 'ssh' is not secure ! Aug 7 11:58:07 myhost sshd(pam_unix)[4811]: authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.0.2 user=root Aug 7 11:58:09 myhost sshd[4811]: Failed password for root from 192.168.0.2 port 38516 ssh2 Aug 7 11:58:09 myhost sshd[4811]: Excess permission or bad ownership on file /var/log/btmp
C'est bien un problème de PAM !
PAM-securetty permet de configurer les tty (où est affiché la console) autorisé à être authentifié en root. Deux solutions s'offrent à moi :
- soit j'enlève le module PAM-securetty pour ssh. Pour cela je décommente "auth required pam_securetty.so #Disable remote root" de /etc/pam.d/ssh.
- soit je rajoute 'ssh' dans les tty autorisés dans /etc/securetty
J'ai choisi la deuxième solution.