Comment puis-je activer à la fois l'authentification par mot de passe et clé publique avec OpenSSH


Réponses:



12

Ceci est enfin disponible à partir d'OpenSSH 6.2 (sorti en mars 2013), en utilisant l' AuthenticationMethodsoption de configuration.

Par exemple, vous pouvez ajouter la ligne suivante à sshd_configpour exiger à la fois l'authentification par clé publique et mot de passe:

AuthenticationMethods publickey,password

Lors de la connexion, sshil scpeffectuera d'abord une authentification par clé publique, puis vous demandera un mot de passe:

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

Si vous avez un mot de passe sur votre fichier de clé privée, vous serez bien sûr d'abord invité à le faire. Exemple d' utilisation de 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 dans RHEL / CentOS 6.3 prend désormais en charge cette fonctionnalité, bien que je ne la trouve pas mentionnée dans les notes de version d'OpenSSH. D'après les notes de version RHEL :

SSH peut désormais être configuré pour exiger plusieurs modes d'authentification (alors qu'auparavant SSH autorisait plusieurs modes d'authentification dont un seul était nécessaire pour une connexion réussie); par exemple, la connexion à une machine compatible SSH nécessite la saisie d'une phrase secrète et d'une clé publique. Les options RequiredAuthentications1et RequiredAuthentications2peuvent être configurées dans le /etc/ssh/sshd_configfichier pour spécifier les authentifications requises pour une connexion réussie. Par exemple:

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

Pour plus d'informations sur les /etc/ssh/sshd_configoptions susmentionnées , reportez-vous à la sshd_configpage de manuel.


0

C'est possible, mais d'une manière délicate et limitée. Tout d'abord, vous autorisez uniquement l'authentification par clé publique. Ensuite, /etc/ssh/sshd_configajoutez un ForceCommandqui exécute un script qui vérifiera le mot de passe.

Le script interrompra SFTP à moins que vous ne vérifiiez que la commande soit sftp et que vous la laissiez passer sans mot de passe.

Je n'ai jamais essayé cela, donc quelqu'un pourrait voir plus de problèmes.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.