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.