Si noti che l'impostazione PasswordAuthentication non controlla TUTTA l'autenticazione basata su password. ChallengeResponseAuthentication di solito richiede anche le 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 "tastiera interattiva" definito in RFC-4256. Lo schema di autenticazione "tastiera interattiva" potrebbe, in teoria, porre a un utente un numero qualsiasi di domande complesse. In pratica spesso chiede solo la password dell'utente.
Se desideri disabilitare completamente l'autenticazione basata su password, imposta ENTRAMBI PasswordAuthentication e ChallengeResponseAuthentication su "no". Se hai una mentalità da cintura e bretelle, considera anche l'impostazione di UsePAM su "no".
L'autenticazione basata su chiave pubblica/privata (abilitata dall'impostazione PubkeyAuthentication) è un tipo separato di autenticazione che non comporta l'invio di password utente al server, ovviamente.
Alcuni sostengono che l'utilizzo di ChallengeResponseAuthentication sia più sicuro di PasswordAuthentication perché è più difficile da automatizzare. Pertanto, consigliano di lasciare PasswordAuthentication disabilitato lasciando ChallengeResponseAuthentication abilitato. Questa configurazione incoraggia anche (ma non impedisce necessariamente) l'uso dell'autenticazione a chiave pubblica per qualsiasi accesso automatico al sistema. Tuttavia, poiché SSH è un protocollo basato sulla rete, il server non ha modo di garantire che le risposte a ChallengeResponseAuthentication (noto anche come 'tastiera interattiva') siano effettivamente fornite da un utente seduto alla tastiera fintanto che le sfide sono sempre e consiste solo nel chiedere a un utente la sua password.
Il tuo link rimanda a documentazione obsoleta di 10 anni.
SSH supporta diversi modi per autenticare gli utenti, il più comune è chiedere un login e una password, ma puoi anche autenticare l'utente un login e una chiave pubblica. Se imposti PasswordAuthentication su no, non sarai più in grado di utilizzare un login e una password per l'autenticazione e dovrai invece utilizzare un login e una chiave pubblica (se PubkeyAuthentication è impostato su yes)
PasswordAuthentication è l'implementazione più semplice, poiché non c'è niente da fare. La controparte è che invii la tua password, tramite una connessione crittografata, al server. Questo può essere un problema di sicurezza se il server è stato compromesso, poiché la password potrebbe essere catturata.
Con la chiave pubblica, la tua password non viene trasmessa al server, è più sicura ma richiede più configurazione.