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-data
hat ein gehashtes Passwort von*
und es gibt kein~www-data/.ssh/authorized_keys
Datei - Es gibt keine einzelne Liste, da es mehrere Anforderungen gibt, aber um sich ein Bild zu machen, könnten Sie versuchen,
grep -v '^[^:]*:[!*]:' /etc/shadow
auszuführen