ssh, root et archlinux

En mettant à jour archlinux, j'ai eu la désagréable suprise de ne plus pouvoir m'authentifier en root sur ssh. En effet, je limite volontairement le nombre d'utilisateur qui peuvent se logger à ... 1. Seul root peut le faire. Avec un bon mot de passe et tcpwrapper, je pense ne pas risquer grand chose. Mais, comment faire pour pouvoir me relogger en root ?

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.

Haut de page