11 votes

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

Je voudrais que sshd vérifie la clé publique des utilisateurs puis demande leur mot de passe, plutôt que simplement l'un ou l'autre. Est-ce possible?

16voto

Søren Løvborg Points 522

Ceci est enfin disponible à partir de OpenSSH 6.2 (publié en mars 2013), en utilisant l'option de configuration AuthenticationMethods.

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

AuthenticationMethods publickey,password

Lors de la connexion, ssh et scp effectueront d'abord une authentification par clé publique, puis demanderont un mot de passe :

$ ssh utilisateur@exemple.org
Authentifié avec un succès partiel.
Mot de passe de utilisateur@exemple.org :

Si vous avez un mot de passe sur votre fichier de clé privée, vous serez bien sûr d'abord invité pour cela. Exemple en utilisant PuTTY :

Utilisation du nom d'utilisateur "utilisateur".
Authentification avec la clé publique "rsa-key-20131221-utilisateur"
Phrase secrète pour la clé "rsa-key-20131221-utilisateur":
Authentification supplémentaire requise
Mot de passe de utilisateur@exemple.org :

2voto

tim_yates Points 63521

Pas actuellement. Mais il y a quelques correctifs qui circulent et qui sont censés ajouter cela.

Voir https://bugzilla.mindrot.org/show_bug.cgi?id=983

1voto

mgorven Points 29736

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. Dans les notes de version de RHEL:

SSH peut désormais être configuré pour exiger plusieurs méthodes d'authentification (alors qu'auparavant SSH autorisait plusieurs méthodes d'authentification parmi lesquelles une seule était nécessaire pour une connexion réussie); par exemple, se connecter à une machine activée pour SSH nécessite à la fois la saisie d'une phrase secrète et d'une clé publique. Les options RequiredAuthentications1 et RequiredAuthentications2 peuvent être configurées dans le fichier /etc/ssh/sshd_config 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 options /etc/ssh/sshd_config mentionnées ci-dessus, reportez-vous à la page de manuel de sshd_config.

0voto

songsong Points 173

Il est possible mais de manière peu élégante et limitée. Tout d'abord, vous n'autorisez que l'authentification par clé publique. Ensuite, dans /etc/ssh/sshd_config, ajoutez un ForceCommand qui exécute un script qui vérifiera le mot de passe.

Le script va casser le SFTP à moins que vous vérifiez que la commande est sftp et la laissiez passer sans mot de passe.

Je n'ai jamais essayé ça donc quelqu'un pourrait voir d'autres problèmes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X