Paradeepchhetri ist nicht ganz richtig.
Debians unveränderter sshd_config hat folgendes:
PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes
Daher würde die Anmeldung über ssh nur für Benutzer funktionieren, die ein ausgefülltes Passwortfeld in /etc/shadow haben oder einen ssh-Schlüssel in ~/.ssh/authorized_keys . Beachten Sie, dass der Standardwert für PubkeyAuthentication ist yes und für PermitEmptyPasswords ist no , selbst wenn Sie sie also entfernen, bleibt das Verhalten gleich.
Im Fragebeispiel www-data standardmäßig nicht erlaubt, sich anzumelden, da Debians Installer weder ein Passwort vergibt noch einen Schlüssel für www-data erstellt .
pam_access , AllowUsers und AllowGroups in sshd_config kann für eine feinere Steuerung verwendet werden, wenn dies erforderlich ist. In Debian wird dringend zu UsePAM ermutigt .
Standardmäßig ist die Anmeldung für alle Benutzer auf Debian erlaubt.
Sie können es ändern, indem Sie bestimmten Benutzern erlauben, sich anzumelden, indem Sie /etc/ssh/sshd_config bearbeiten Datei.
Wie in der Manpage von sshd_config erwähnt.
AllowUsers
Auf dieses Schlüsselwort kann eine Liste mit Mustern für Benutzernamen folgen, getrennt durch
Räume. Wenn angegeben, ist die Anmeldung nur für Benutzernamen zulässig, die mit einem der Muster übereinstimmen. Nur Benutzernamen sind gültig; eine numerische Benutzer-ID ist es nicht
anerkannt. Standardmäßig ist die Anmeldung für alle Benutzer erlaubt. Wenn das Muster die Form [email protected] hat dann USER und HOST werden separat überprüft, wodurch Anmeldungen auf bestimmte Benutzer von bestimmten Hosts beschränkt werden. Die Allow/Deny-Anweisungen werden in der folgenden Reihenfolge verarbeitet:DenyUsers , AllowUsers ,DenyGroup , und schließlich AllowGroups .
Standardmäßig SSH server ist gar nicht installiert. Sie müssten den openssh-server installieren Paket, bevor sich jemand per SSH einloggen kann.
Danach muss jeder Benutzer zwei Prüfungen bestehen:
- SSH-Authentifizierung
- PAM-Kontoüberprüfungen
SSH-Authentifizierung bedeutet, dass entweder der Benutzer ein gültiges Passwort in /etc/shadow haben muss oder sie haben einen gültigen öffentlichen SSH-Schlüssel mit den richtigen Berechtigungen im ~/.ssh/authorized_keys des Zielbenutzers .
Gültige Passwörter werden in crypt(3) näher beschrieben Manpage, aber im Grunde genommen das zweite Feld des Benutzers in /etc/shadow ist alles, was mit $NUMBER$ beginnt , ist es wahrscheinlich gültig, und wenn es * ist oder ! , es ist ungültig.
PAM-Kontoprüfungen bedeuten im Grunde, dass das Konto nicht abgelaufen ist. Sie können dies mit chage -l USERNAME überprüfen .
Um Ihre Fragen zu beantworten, meines Wissens nach:
- Nur root und das Konto, das Sie während des Installationsassistenten erstellen, können sich bei einem neuen System anmelden
- Nein, weil
www-datahat ein gehashtes Passwort von*und es gibt kein~www-data/.ssh/authorized_keysDatei - Es gibt keine einzelne Liste, da es mehrere Anforderungen gibt, aber um sich ein Bild zu machen, könnten Sie versuchen,
grep -v '^[^:]*:[!*]:' /etc/shadowauszuführen