Welche Benutzer dürfen sich standardmäßig über SSH anmelden?

18
  1. Als ich mein Debian 6 einrichtete, fragte ich mich, welche Benutzer außer root, deren Passwort ich kenne, sich über SSH in mein System einloggen können.

  2. Bei der Installation von Apache 2 wird ein Benutzer namens www-data erstellt. Hat dieser Benutzer das Recht, sich über SSH bei meinem System anzumelden? Aber wenn es ein Standardkennwort für WWW-Daten gab, das sich jeder einloggen konnte, scheint es mir unwahrscheinlich.

  3. Wo habe ich eine Liste, welche Benutzer sich über SSH in mein System einloggen dürfen? In den ssh-Konfigurationsdateien ist nichts zu finden.

JohnnyFromBF
quelle

Antworten:

20

Paradeepchhetri ist nicht genau richtig.

Debians unmodifizierte Version sshd_confighat Folgendes:

PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

Die Anmeldung über SSH funktioniert daher nur für Benutzer, die ein ausgefülltes Kennwortfeld /etc/shadowoder einen SSH-Schlüssel haben ~/.ssh/authorized_keys. Beachten Sie, dass der Standardwert für PubkeyAuthenticationist yesund für PermitEmptyPasswordsist no, sodass das Verhalten auch dann gleich ist , wenn Sie sie entfernen.

Im www-dataFragebeispiel wird standardmäßig keine Anmeldung zugelassen, da das Installationsprogramm von Debian weder ein Kennwort zuweist noch einen Schlüssel für erstellt www-data.

pam_access, AllowUsersund AllowGroupsin sshd_configkönnen zur genaueren Steuerung verwendet werden, wenn dies erforderlich ist. In Debian wird dies dringend empfohlen UsePAM.

Bahamat
quelle
10

Standardmäßig ist die Anmeldung für alle Benutzer von Debian zulässig.

Sie können dies ändern, indem Sie bestimmten Benutzern erlauben, sich durch Bearbeiten der /etc/ssh/sshd_configDatei anzumelden .

Wie in der Manpage von sshd_config erwähnt.

AllowUsers

Diesem Schlüsselwort kann eine Liste von Benutzernamensmustern folgen, die durch
Leerzeichen getrennt sind. Wenn angegeben, ist die Anmeldung nur für Benutzernamen zulässig, die mit einem der Muster übereinstimmen. Es sind nur Benutzernamen gültig. Eine numerische Benutzer-ID wird nicht
erkannt. Standardmäßig ist die Anmeldung für alle Benutzer zulässig. Wenn das Muster die Form nimmt USER@HOSTdann USERund HOSTseparat geprüft werden, beschränken Anmeldungen für bestimmte Benutzer von bestimmten Hosts. Das Zulassen / Ablehnen Richtlinien in der folgenden Reihenfolge verarbeitet werden: DenyUsers, AllowUsers, DenyGroup, und schließlich AllowGroups.

pradeepchhetri
quelle
Ich habe "on Debian" hinzugefügt, falls jemand kommt und den Fragentitel und die Antwort liest, ohne die Frage selbst zu lesen. Die allgemeine Antwort auf den Titel der Frage lautet: "Das hängt vom Inhalt der gelieferten sshd_configDatei ab." Einige Betriebssysteme werden zum Beispiel mit nicht zugelassener Root-Anmeldung über SSH ausgeliefert.
Warren Young
Danke, aber natürlich kann sich standardmäßig nur root anmelden, da er der einzige ist, der ein Passwort in / etc / shadow hat.
JohnnyFromBF
7

Standardmäßig SSH serverist nicht einmal installiert. Sie müssten das openssh-serverPaket installieren , bevor jemand SSH ausführen kann.

Danach muss jeder Benutzer zwei Prüfungen bestehen:

  • SSH-Authentifizierung
  • PAM-Konto überprüft

SSH-Authentifizierung bedeutet, dass der Benutzer entweder ein gültiges Kennwort /etc/shadowoder einen gültigen öffentlichen SSH-Schlüssel mit den richtigen Berechtigungen für den Zielbenutzer haben muss ~/.ssh/authorized_keys.

Gültige Passwörter werden weiter unten in der crypt(3)Manpage beschrieben. Wenn jedoch das zweite Feld des Benutzers mit "" /etc/shadowbeginnt $NUMBER$, ist es wahrscheinlich gültig und wenn "" *oder !"" ungültig.

PAM-Kontoüberprüfungen bedeuten grundsätzlich, dass das Konto nicht abgelaufen ist. Sie können dies mit überprüfen chage -l USERNAME.

Also, um Ihre Fragen zu beantworten, nach meinem Wissen:

  1. Nur root und das Konto, das Sie während des Installationsassistenten erstellen, können sich auf einem neuen System anmelden
  2. Nein, da www-dataes ein Hash-Passwort von *gibt und keine ~www-data/.ssh/authorized_keysDatei vorhanden ist
  3. Es gibt keine einzelne Liste, da es mehrere Anforderungen gibt, aber um sich ein Bild zu machen, können Sie versuchen, sie auszuführen grep -v '^[^:]*:[!*]:' /etc/shadow
Mikel
quelle
1
Seien Sie vorsichtig, das leere Passwort ist ein gültiges Passwort, aber wie bahamat hervorhob , verbietet die Standard-SSH-Konfiguration (und die Standard-Debian-Konfiguration) die SSH-Anmeldung für Konten mit leeren Passwörtern.
Totor