Quali utenti sono autorizzati ad accedere tramite SSH per impostazione predefinita?


18
  1. Quando ho configurato il mio Debian 6, mi chiedevo quali utenti, a parte il root, di cui conosco la password, possono accedere al mio sistema tramite SSH?

  2. Quando installo Apache 2 viene creato un utente chiamato www-data. Questo utente ha il diritto di accedere al mio sistema tramite SSH? Ma se ci fosse una password predefinita per i dati www tutti potrebbero accedere, mi sembra improbabile.

  3. Dove posso trovare un elenco a cui gli utenti possono accedere al mio sistema tramite SSH? Non è possibile trovare nulla nei file di configurazione di ssh.

Risposte:


20

Paradeepchhetri non è esattamente corretto.

Debian non modificato sshd_configha il seguente:

PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

Pertanto, l'accesso tramite ssh funzionerebbe solo per gli utenti che hanno un campo password popolato in /etc/shadowo una chiave ssh in ~/.ssh/authorized_keys. Nota che il valore predefinito per PubkeyAuthenticationis yese for PermitEmptyPasswordsè no, quindi anche se li rimuovi il comportamento sarà lo stesso.

Nell'esempio della domanda, www-dataper impostazione predefinita non sarà consentito l'accesso poiché il programma di installazione di Debian non assegna una password né crea una chiave per www-data.

pam_access, AllowUsersE AllowGroupsin sshd_configpuò essere utilizzato per un controllo più preciso, se ciò che serve. In Debian è fortemente incoraggiato a farlo UsePAM.


10

Per impostazione predefinita, l'accesso è consentito a tutti gli utenti su Debian.

È possibile modificarlo consentendo a determinati utenti che possono accedere modificando il /etc/ssh/sshd_configfile.

Come menzionato 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 viene
riconosciuto. Per impostazione predefinita, l'accesso è consentito a tutti gli utenti. Se il modello assume la forma USER@HOSTquindi USERe HOSTviene controllato separatamente, limitando gli accessi a determinati utenti da determinati host. Il consentire / bloccare direttive vengono elaborati nel seguente ordine: DenyUsers, AllowUsers, DenyGroup, e infine AllowGroups.


Ho aggiunto "su Debian" nel caso in cui qualcuno arrivi e legga il titolo della domanda e risponda senza leggere la domanda stessa. La risposta generale al titolo della domanda è "dipende dal contenuto del sshd_configfile spedito ". Ad esempio, alcuni sistemi operativi forniti con accesso root su SSH non sono consentiti.
Warren Young,

Grazie, ma ovviamente per impostazione predefinita solo root può effettuare il login poiché è l'unico con una password in / etc / shadow.
JohnnyFromBF

7

Per impostazione predefinita, SSH servernon è nemmeno installato. Dovresti installare il openssh-serverpacchetto prima che qualcuno possa entrare in SSH.

Successivamente, qualsiasi utente deve superare due controlli:

  • Autenticazione SSH
  • Controlli dell'account PAM

L'autenticazione SSH significa che l'utente deve disporre di una password valida /etc/shadowo di avere una chiave pubblica SSH valida con le autorizzazioni giuste per l'utente di destinazione ~/.ssh/authorized_keys.

Le password valide sono descritte più avanti nella crypt(3)pagina man, ma fondamentalmente se il secondo campo dell'utente /etc/shadowè qualcosa 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 il root e l'account creati durante la procedura guidata di installazione possono accedere a un nuovo sistema
  2. No, perché www-dataha una password con hash di *e non ci sono ~www-data/.ssh/authorized_keysfile
  3. Non esiste un unico elenco, perché ci sono più requisiti, ma per avere un'idea, puoi provare a correre grep -v '^[^:]*:[!*]:' /etc/shadow

1
Fai attenzione, la password vuota è una password valida, ma come ha sottolineato bahamat , la configurazione SSH predefinita (e la configurazione Debian predefinita) non consente l'accesso SSH per account con password vuota.
Totor
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.