ssh -o PreferredAuthentications: qual è la differenza tra "password" e "tastiera interattiva"?


36

Entrambi PreferredAuthentications=passworde PreferredAuthentications=keyboard-interactiverichiederebbero la password, quindi qual è la differenza tra loro?

Ho Google con le parole chiave ssh PreferredAuthentications password differenza interattiva tastiera ma non ho trovato risposte.

L'unica differenza che ho notato sono le stringhe di prompt ( user@host's password:vs. Password:):

$ ssh -o PreferredAuthentications=password,keyboard-interactive my-host
root@my-host's password:
Password:
Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).

AGGIORNAMENTO (09-04-2018):

Per un facile riferimento, quanto segue proviene dal libro SSH: TDG come menzionato nella risposta di Jouell .

"keyboard-interactive"L'autenticazione dell'utente è intesa principalmente per accogliere l' PAMautenticazione sul lato server. Fornisce una finestra di dialogo a risposta multipla con l'utente in cui il server invia una query di testo all'utente, l'utente digita una risposta e questo processo può essere ripetuto un numero qualsiasi di volte. Ad esempio, è possibile configurare PAMper SSH con un modulo che esegue l'autenticazione utilizzando un token di sicurezza RSA o uno schema di password monouso. Le persone si confondono a causa di ciò perché, per impostazione predefinita, l' "keyboard-interactive"autenticazione di solito implementa l'autenticazione con password in un singolo ciclo challenge-response, che richiede solo una password, sembrando esattamente uguale a"password"autenticazione. Se non si utilizzano deliberatamente entrambi per scopi diversi, è possibile disabilitare l'uno o l'altro per evitare confusione dell'utente finale.


1
Vedere RFC 4252 per la password auth e RFC 4256 per tastiera interattiva .
pynexj,

Risposte:


37

Il protocollo SSH ha numerosi metodi di autenticazione. La password e la tastiera interattiva sono due.

L' autenticazione password è una semplice richiesta per una singola password. Non c'è un prompt specifico inviato dal server. Quindi è il cliente che sceglie come etichettare il prompt (Il "user @ password di host" pronta da OpenSSH clienti , come ssh, sftp, ecc).

L' autenticazione da tastiera interattiva è una richiesta più complessa per un numero arbitrario di informazioni. Per ogni informazione il server invia l'etichetta del prompt. Inoltre, consente al server di fornire una lunga descrizione del "modulo" generale. Il server può anche specificare quali input sono segreti (devono essere offuscati quando l'utente li digita) e quali no.

Sebbene nella maggior parte dei casi l' autenticazione tramite tastiera interattiva sia utilizzata per richiedere un singolo prompt della password "segreta", non c'è praticamente alcuna differenza nell'autenticazione della password .

Questa è la differenza dal punto di vista del protocollo.


Dal punto di vista dell'implementazione, con il server OpenSSH, l' autenticazione da tastiera interattiva può essere agganciata a autenticazioni a due fattori (o multi-fattore), ad esempio fornite da un meccanismo PAM generico o Kerberos .

Dal punto di vista del cliente, un'altra differenza è la localizzazione. Con l' autenticazione con password , il client può localizzare l' etichetta "Password" , poiché sa che il server richiede una password. Con l' autenticazione interattiva da tastiera , anche quando il server richiede una sola password, il client non può localizzare il prompt (a meno che non utilizzi AI), perché è un prompt generico.


2

Sai già cos'è la 'password'. Da un livello molto alto (non roba di protocollo a livello di mattone), pensa a "tastiera interattiva" come il metodo che usi 2FA usando Radius e / o SecurID ecc. Fornisce dialoghi di sfida e risposta: ssh.com ha un bel breve descrizione su di esso. Si fa un passo ulteriore per evidenziare interattivo da tastiera è l'ombrello che cade la password. Rispettosamente per gli autori, è un po 'confuso.

Vedi anche la definizione del Snail Book . Lo usiamo spesso per le nostre scatole protette RSA.

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.