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.
AllowUsersQuesta 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 formaexample@unixlinux.onlinepoiUSEReHOSTvengono 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-dataha una password con hash di*e non c'è~www-data/.ssh/authorized_keysfile - Non esiste un unico elenco, perché ci sono più requisiti, ma per farti un'idea, potresti provare a eseguire
grep -v '^[^:]*:[!*]:' /etc/shadow