Qualcuno può spiegare "PasswordAuthentication" nel file / etc / ssh / sshd_config?


28

In questa pagina , la spiegazione fornita è:

L'opzione PasswordAuthentication consente di specificare se utilizzare l'autenticazione basata su password. Per una sicurezza elevata, questa opzione deve essere sempre impostata su Sì.

Ma non riesce a fornire scenari di casi d'uso che chiariscano quando un Sì o un no sarebbero appropriati. Qualcuno può elaborare ulteriormente?

Risposte:


21

Il tuo link rimanda alla documentazione non più aggiornata di 10 anni.

SSH supporta diversi modi per autenticare gli utenti, il più comune è richiedere un login e una password, ma è anche possibile autenticare un login e una chiave pubblica. Se si imposta PasswordAuthentication su no, non sarà più possibile utilizzare un account di accesso e una password per l'autenticazione e sarà invece necessario utilizzare un account di accesso e una chiave pubblica (se PubkeyAuthentication è impostato su yes)


okay, solo per authorized_key2: (1) commenta AuthorizedKeysFile (2) PasswordAuthentication no (3) PubkeyAuthentication sì (4) ChallengeResponseAuthentication no (5) testalo ... se accetta ancora password, aggiungi anche UsePam no
YumYumYum

Usa queste impostazioni: fpaste.org/114544/04202660 quando consenti l'accesso SSH solo tramite ~ / .ssh / authorized_keys2 ma non con nome utente / password
YumYumYum

1
e qual è il valore DEFAULT di esso? Voglio dire, cosa succede se non specifico alcun "PasswordAuthentication"?
Riccardo SCE,

@TSERiccardo: nessuno ha risposto alla tua domanda? È un peccato, la colpa è così!
Timo,

1
@RiccardoSCE Secondo la pagina man sshd_config, il valore predefinito per PasswordAuthentication è 'yes'.
Starfish

53

Si noti che l'impostazione PasswordAuthentication non controlla TUTTA l'autenticazione basata su password. ChallengeResponseAuthentication di solito richiede anche password.

PasswordAuthentication controlla il supporto per lo schema di autenticazione 'password' definito in RFC-4252 (sezione 8). ChallengeResponseAuthentication controlla il supporto per lo schema di autenticazione "interattivo da tastiera" definito in RFC-4256. Lo schema di autenticazione "interattivo da tastiera" potrebbe, in teoria, porre a un utente un numero qualsiasi di domande multiformi. In pratica spesso richiede solo la password dell'utente.

Se si desidera disabilitare completamente l'autenticazione basata su password, impostare SIA password autenticazione e ChallengeResponseAuthentication su "no". Se sei della mentalità cintura e bretelle, considera di impostare anche UsePAM su "no".

L'autenticazione basata su chiave pubblica / privata (abilitata dall'impostazione PubkeyAuthentication) è un tipo di autenticazione separato che, ovviamente, non comporta l'invio di password utente al server.

Alcuni sostengono che l'uso di ChallengeResponseAuthentication sia più sicuro di PasswordAuthentication perché è più difficile da automatizzare. Pertanto consigliano di lasciare PasswordAuthentication disabilitato lasciando ChallengeResponseAuthentication abilitato. Questa configurazione incoraggia (ma non necessariamente impedisce) l'uso dell'autenticazione con chiave pubblica per qualsiasi accesso al sistema automatizzato. Ma poiché SSH è un protocollo basato su rete, il server non ha modo di garantire che le risposte a ChallengeResponseAuthentication (alias "tastiera interattiva") siano effettivamente fornite da un utente seduto a una tastiera fintanto che le sfide sempre e consiste solo nel chiedere a un utente la sua password.


7
Gradirei qualche spiegazione di cosa UsePAM...
Alexey,

3

PasswordAuthentication è l'implementazione più semplice, poiché non c'è nulla da fare. La controparte è che si invia la password, tramite una connessione crittografata, al server. Questo può essere un problema di sicurezza se il server è stato compromesso, poiché la password potrebbe essere acquisita.
Con la chiave pubblica, la tua password non viene trasmessa al server, è più sicura ma necessita di più configurazione.


Questa risposta è un po 'vecchia, ma vorrei aggiungere qualcosa: il bello dell'autenticazione Pubkey è che nessun segreto viene trasmesso al server. La chiave privata rimane segreta sul computer, ovvero non è possibile trasmettere accidentalmente alcun tipo di segreto a un server compromesso o MITM. Quindi Pubkey è decisamente favorevole rispetto alla password auth. Tuttavia, sì, l'autenticazione della password è molto più semplice da implementare.
Jan D,

Non sarebbe una seccatura installarlo, solo alla pari di essere pigro per non farlo.
sudo,

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.