GNU/Linux >> Linux Esercitazione >  >> Linux

Quali utenti possono accedere tramite SSH per impostazione predefinita?

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] poi USER e HOST 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 infine AllowGroups .


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:

  1. Solo root e l'account creato durante l'installazione guidata possono accedere a un nuovo sistema
  2. No, perché www-data ha una password con hash di * e non c'è ~www-data/.ssh/authorized_keys file
  3. Non esiste un unico elenco, perché ci sono più requisiti, ma per farti un'idea, potresti provare a eseguire grep -v '^[^:]*:[!*]:' /etc/shadow

Linux
  1. Ssh:limitare un utente Ssh/scp/sftp a una directory?

  2. Termina tutti i processi di un utente specifico tramite SSH

  3. Come:Amministrazione degli utenti di FreeBSD

  4. Utente predefinito non root di Kali

  5. Come fare in modo che ssh acceda come l'utente giusto?

Come elencare gli utenti in Linux

Come limitare l'accesso SSH a determinati utenti in Linux

Come accedere al mio account cPanel tramite SSH?

Come disconnettere un utente da SSH in Linux

Come eseguire l'SSH sul server tramite Linux

La guida definitiva per creare utenti in Linux / Unix