Paradeepchhetri non è esattamente corretto.
sshd_config
non modificato di Debian ha quanto segue:
PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes
Pertanto, l'accesso tramite ssh funzionerebbe solo per gli utenti che hanno un campo password popolato in /etc/shadow
o una chiave ssh in ~/.ssh/authorized_keys
. Nota che il valore predefinito per PubkeyAuthentication
è yes
e per PermitEmptyPasswords
è no
, quindi anche se li rimuovi il comportamento sarà lo stesso.
Nell'esempio della domanda, www-data
per impostazione predefinita non sarà consentito l'accesso poiché il programma di installazione di Debian non assegna né una password né crea una chiave per www-data
.
pam_access
, AllowUsers
e AllowGroups
in sshd_config
può essere utilizzato per un controllo più preciso se necessario. In Debian è fortemente incoraggiato UsePAM
.
Per impostazione predefinita, l'accesso è consentito a tutti gli utenti su Debian.
Puoi cambiarlo consentendo a determinati utenti di accedere modificando /etc/ssh/sshd_config
file.
Come accennato nella pagina man di sshd_config.
AllowUsers
Questa parola chiave può essere seguita da un elenco di modelli di nomi utente, separati da
spazi. Se specificato, l'accesso è consentito solo per i nomi utente che corrispondono a uno dei modelli. Sono validi solo i nomi utente; un ID utente numerico non lo è
riconosciuto. Per impostazione predefinita, l'accesso è consentito a tutti gli utenti. Se il modello assume la forma[email protected]
poiUSER
eHOST
vengono controllati separatamente, limitando gli accessi a determinati utenti da determinati host. Le direttive allow/deny vengono elaborate nel seguente ordine:DenyUsers
,AllowUsers
,DenyGroup
, e infineAllowGroups
.
Per impostazione predefinita, SSH server
non è nemmeno installato. Dovresti installare openssh-server
pacchetto prima che chiunque potesse accedervi tramite SSH.
Successivamente, qualsiasi utente deve superare due controlli:
- Autenticazione SSH
- Controlli dell'account PAM
L'autenticazione SSH significa che l'utente deve avere una password valida in /etc/shadow
oppure hanno una chiave pubblica SSH valida con le autorizzazioni corrette nel ~/.ssh/authorized_keys
dell'utente di destinazione .
Le password valide sono descritte ulteriormente nel crypt(3)
pagina man, ma fondamentalmente se il secondo campo dell'utente in /etc/shadow
è qualsiasi cosa che inizia con $NUMBER$
, è probabilmente valido e se è *
o !
, non è valido.
I controlli dell'account PAM significano sostanzialmente che l'account non è scaduto. Puoi verificarlo usando chage -l USERNAME
.
Quindi, per rispondere alle tue domande, per quanto ne so:
- Solo root e l'account creato durante l'installazione guidata possono accedere a un nuovo sistema
- No, perché
www-data
ha una password con hash di*
e non c'è~www-data/.ssh/authorized_keys
file - Non esiste un unico elenco, perché ci sono più requisiti, ma per farti un'idea, potresti provare a eseguire
grep -v '^[^:]*:[!*]:' /etc/shadow