Come posso abilitare l'autenticazione sia con password che con chiave pubblica con OpenSSH


10

Vorrei che sshd verificasse la chiave pubblica degli utenti e quindi richiedesse la loro password, anziché solo l'una o l'altra. È possibile?

Risposte:



12

Questo è finalmente disponibile a partire da OpenSSH 6.2 (rilasciato a marzo 2013), usando l' AuthenticationMethodsopzione di configurazione.

Ad esempio, è possibile aggiungere la seguente riga sshd_configper richiedere l'autenticazione sia con chiave pubblica che con password:

AuthenticationMethods publickey,password

Quando si accede sshe scpprima eseguirà l'autenticazione con chiave pubblica, quindi richiederà una password:

$ ssh user@example.org
Authenticated with partial success.
user@example.org's password:

Se hai una password sul tuo file di chiave privata, ti verrà chiesto per prima cosa. Esempio con PuTTY :

Using username "user".
Authenticating with public key "rsa-key-20131221-user"
Passphrase for key "rsa-key-20131221-user":
Further authentication required
user@example.org's password:

1

OpenSSH in RHEL / CentOS 6.3 ora supporta questa funzione, anche se non la trovo menzionata nelle note di rilascio di OpenSSH. Dalle note di rilascio di RHEL :

Ora SSH può essere impostato per richiedere più modi di autenticazione (mentre in precedenza SSH consentiva più modi di autenticazione di cui era necessario solo uno per un accesso riuscito); ad esempio, l'accesso a una macchina abilitata per SSH richiede l'inserimento sia di una passphrase che di una chiave pubblica. Le opzioni RequiredAuthentications1e RequiredAuthentications2possono essere configurate nel /etc/ssh/sshd_configfile per specificare le autenticazioni necessarie per un accesso riuscito. Ad esempio:

  ~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config

Per maggiori informazioni sulle /etc/ssh/sshd_configopzioni sopra menzionate , consultare la sshd_configpagina man.


0

È possibile, ma in modo clandestino e limitato. Per prima cosa consenti solo l'autenticazione con chiave pubblica. Quindi /etc/ssh/sshd_configaggiungere un ForceCommandche esegue uno script che controllerà la password.

Lo script interromperà SFTP a meno che non si controlli che il comando sia sftp e lo si consenta senza password.

Non l'ho mai provato, quindi qualcuno potrebbe vedere più problemi.

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.