134 votes

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

Je viens d'installer Ubuntu 14.04 sur mon serveur et j'étais en train de mettre en place tous mes fichiers de configuration lorsque je suis tombé sur ceci dans mon sshd_config fichier :

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

Cela m'a rendu très inquiet. J'ai pensé qu'il était possible que quelqu'un puisse se connecter à 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:  

J'ai entré un mot de passe vide et ça ne m'a pas laissé entrer, ce qui était un soulagement. Ma question est donc la suivante : que signifie "sans mot de passe" et pourquoi est-ce un défaut dans Ubuntu 14.04 ?

163voto

Fabiano Soriani Points 543

De la page d'accueil :

PermitRootLogin

Spécifie si l'utilisateur root peut se connecter en utilisant ssh (1). L'argument doit être "yes", "without-password", "forced-commands-only" ou "no". ou "no". La valeur par défaut est "yes".

Si cette option est réglée sur "without-password", le mot de passe est désactivée pour l'utilisateur root.

Si cette option est définie sur "forced-commands-only", la connexion de root avec l'authentification par clé publique sera autorisée, mais seulement si l'option command a été spécifié (ce qui peut être utile pour prendre sauvegardes à distance même si la connexion root n'est normalement pas autorisée). Toutes les méthodes d'authentification autres méthodes d'authentification sont désactivées pour root.

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

Ainsi, without-password permet la connexion de la racine uniquement avec l'authentification par clé publique. Ceci est souvent utilisé avec Shell Shell et les tâches automatisées.

18voto

Atari911 Points 572

En fait, ce paramètre ne fait pratiquement rien si vous utilisez l'authentification PAM. Au bas de la page sshd_config que vous trouverez dans le fichier de configuration :

# 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

7voto

RBADS Points 772

Dans les versions plus récentes de sshd (OpenSSH 7.0 et plus, publié le 2015-08-11) " without-password " a été changé en " prohibit-password ".

Les deux versions fonctionnent, mais le mieux est d'utiliser " prohibit-password "si vous le pouvez : il s'explique mieux.

Source : :

  • sshd_config(5) : PermitRootLogin accepte maintenant un argument de 'prohibit-password' comme synonyme moins ambigu de 'without-password'.

4voto

Mansur Points 123

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

Voici un exemple utilisant unisson pour la synchronisation.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X