Que signifie "sans mot de passe" dans le fichier sshd_config?

105

Je viens d'installer Ubuntu 14.04 sur mon serveur et je configurais tous mes fichiers de configuration lorsque je suis tombé sur ceci dans mon fichier sshd_config :

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

Cela m'a fait très peur. J'ai pensé qu'il était possible que quelqu'un se connecte à mon serveur en tant que root sans mot de passe.

J'ai essayé de me connecter à mon serveur en tant que root via:

johns-mbp:~ john$ ssh root@192.168.1.48
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
root@192.168.1.48's password:  

Je suis entré dans un mot de passe vide et cela ne m'a pas laissé entrer, ce qui était un soulagement. Donc, ma question est la suivante: que signifie sans mot de passe et pourquoi est-ce un défaut dans Ubuntu 14.04?

    
posée John 18.04.2014 - 03:12
la source

4 réponses

124

À partir de la page de manuel :

  

PermitRootLogin

     

Spécifie si root peut se connecter avec ssh (1). L'argument   doit être "oui", "sans mot de passe", "commandes forcées uniquement" ou   "non". La valeur par défaut est "oui".

     

Si cette option est définie sur "sans-mot de passe", mot de passe   l'authentification est désactivée pour root.

     

Si cette option est définie sur "commandes forcées uniquement", la connexion root avec   l'authentification par clé publique sera autorisée, mais uniquement si le   L'option command a été spécifiée (ce qui peut être utile pour prendre   sauvegardes distantes même si la connexion root est normalement interdite). Tout   d'autres méthodes d'authentification sont désactivées pour root.

     

Si cette option est définie sur "non", root n'est pas autorisé à se connecter.

Ainsi, without-password autorise la connexion root uniquement avec l'authentification par clé publique. Ceci est souvent utilisé avec les scripts shell et les tâches automatisées.

    
réponse donnée Florian Diesch 18.04.2014 - 03:26
la source
15

En fait, ce paramètre ne fait pratiquement rien si vous utilisez l’authentification PAM. Au bas du fichier de configuration sshd_config , vous trouverez:

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.

Le paramètre par défaut sur Ubuntu est d’utiliser l’authentification PAM:

UsePAM yes
    
réponse donnée Atari911 15.11.2014 - 18:34
la source
3

Notez qu'il existe des raisons légitimes de vous connecter via root (mais en utilisant des clés cryptographiques et jamais un mot de passe). Un exemple typique est la synchronisation à distance de deux serveurs (pour que l'un d'eux soit utilisé comme basculement). Comme la structure doit être identique, un mot de passe root est souvent requis.

Voici un exemple d’unison pour la synchronisation: lien

    
réponse donnée Gwyneth Llewelyn 17.01.2015 - 21:26
la source
0

Dans les nouvelles versions de sshd, "without-password" a été remplacé par "prohibit-password".

Les deux versions fonctionnent, mieux vaut probablement utiliser "prohibit-password" si vous le pouvez: cela s’explique mieux.

    
réponse donnée teknopaul 23.03.2018 - 00:12
la source

Lire d'autres questions sur les étiquettes