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


Je viens d'installer Ubuntu 14.04 sur mon serveur et je mettais en place tous mes fichiers de configuration quand 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 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:  

J'ai entré 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?


106
2018-04-18 01:12


origine




Réponses:


Du page de manuel:

PermitRootLogin

Spécifie si root peut se connecter en utilisant 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    command l'option a été spécifiée (ce qui peut être utile pour prendre   sauvegardes distantes même si la connexion root est normalement interdite). Tout   les 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.


127
2018-04-18 01:26



Ne permet pas la connexion root en utilisant un mot de passe est considéré sécurité renforcée que de le permettre. Cela dit, vous ne devriez pas vous connecter à racine du tout, sauf si aucune autre méthode (sudo, etc.) ne fonctionne. - david6
Comme vous pouvez le voir cependant, alors que la page de manuel indique que la valeur par défaut est "oui", Ubuntu a défini par défaut "sans-mot de passe". - ferrouswheel
Alors without-password signifie toutes les méthodes autorisées sauf mot de passe? Cela ressemble vraiment à "autorisé à se connecter sans avoir besoin d'un mot de passe". - Gauthier
"Tous les accès root doivent être facilités par une ouverture de session locale avec un identifiant utilisateur unique et identifiable, puis via la commande su une fois authentifiés localement. La connexion root directe est extrêmement peu fiable - CIS IBM AIX Guide - Dominik Antal
PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'. - endolith


En fait, ce paramètre ne fait pratiquement rien si vous utilisez l'authentification PAM. Au bas de la sshd_config fichier de configuration que 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

15
2017-11-15 17:34



Dans ma brève expérience, même en réglant cela sur no ne fera pas PermitRootLogin without-password fonctionne en quelque sorte! :( - cregox
@cregox si vous utilisez un système de bureau typique, vous devez le faire ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip et cela crée ~/.ssh/authorized_keys Gardez à l'esprit que si vous ne pouvez pas vous connecter en tant que root, vous ne créerez pas ce fichier dans /root/.ssh/ mais cela fonctionnera si vous copiez le fichier ici. - Rutrus


Notez qu'il existe des raisons légitimes de se 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'utilisation à l'unisson pour la synchronisation: https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison


3
2018-01-17 20:26



Ne se connecte pas avec un utilisateur normal (en utilisant le plus probablement des clés cryptographiques) et qu’il appartient au sudo groupe vous permet de faire cela aussi? - NS du Toit


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.


0
2018-03-22 23:12