Was bedeutet "ohne Passwort" in der Datei sshd_config?

105

Ich habe gerade Ubuntu 14.04 auf meinem Server installiert und ich habe alle meine Konfigurationsdateien eingerichtet, als ich in meiner sshd_config -Datei darauf gestoßen bin:

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

Das hat mich sehr beunruhigt. Ich dachte, dass es möglich ist, dass sich jemand als root ohne Passwort bei meinem Server anmeldet.

Ich habe versucht, eine Verbindung zu meinem Server als root über:

herzustellen
johns-mbp:~ john$ ssh [email protected]
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.
[email protected]'s password:  

Ich habe ein leeres Passwort eingegeben und es hat mich nicht reingelassen, was eine Erleichterung war. Also meine Frage ist: Was bedeutet ohne Passwort und warum ist das ein Standard in Ubuntu 14.04?

    
John 18.04.2014, 03:12

4 Antworten

124

Von der Hilfeseite :

  

PermitRootLogin

     

Gibt an, ob root sich mit ssh anmelden kann (1). Das Argument   muss "ja", "ohne Passwort", "erzwungene Befehle nur", oder sein   "Nein". Der Standardwert ist "Ja".

     

Wenn diese Option auf "ohne Passwort" eingestellt ist, Passwort   Authentifizierung ist für root deaktiviert.

     

Wenn diese Option auf "forced-commands-only" gesetzt ist, root-Login mit   Die Authentifizierung mit öffentlichen Schlüsseln ist zulässig, aber nur wenn    command Option wurde angegeben (was für die Verwendung nützlich sein kann)   Remote-Backups, selbst wenn Root-Login normalerweise nicht erlaubt ist). Alle   Andere Authentifizierungsmethoden sind für root deaktiviert.

     

Wenn diese Option auf "no" gesetzt ist, darf sich root nicht anmelden.

Somit erlaubt without-password die root-Anmeldung nur mit der Authentifizierung mit dem öffentlichen Schlüssel. Dies wird oft mit Shell-Skripten und automatisierten Aufgaben verwendet.

    
Florian Diesch 18.04.2014, 03:26
15

Diese Einstellung bewirkt eigentlich nichts, wenn Sie die PAM-Authentifizierung verwenden. Am unteren Ende der sshd_config Konfigurationsdatei finden Sie:

# 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'.

Die Standardeinstellung für Ubuntu ist die Verwendung der PAM-Authentifizierung:

UsePAM yes
    
Atari911 15.11.2014 18:34
3

Beachten Sie, dass es legitime Gründe gibt, sich über root anzumelden (aber kryptografische Schlüssel und nie ein Passwort). Ein typisches Beispiel ist die Remote-Synchronisierung von zwei Servern (damit einer von ihnen als Failover verwendet wird). Da die Struktur identisch sein muss, ist oft ein Root-Passwort erforderlich.

Hier ist ein Beispiel mit Unison für die Synchronisation: lien

    
Gwyneth Llewelyn 17.01.2015 21:26
0

In neueren Versionen von sshd wurde "ohne-password" in "prohibit-password" geändert.

Beide Versionen funktionieren wahrscheinlich am besten "prohibit-password" wenn du kannst: es erklärt sich besser.

    
teknopaul 23.03.2018 00:12

Tags und Links