4 231
modifications
Ligne 20 : | Ligne 20 : | ||
<pre> | <pre> | ||
auth sufficient pam_yubico.so id=XXXX key="YYYYYYYY" authfile=/etc/yubikey_mappings | auth sufficient pam_yubico.so id=XXXX key="YYYYYYYY" authfile=/etc/yubikey_mappings | ||
</pre> | |||
Ajoutez la ligne suivante dans <code>/etc/ssh/sshd_config</code> : | |||
<pre> | |||
AuthenticationMethods publickey,password | |||
</pre> | |||
Les utilisateurs seront désormais obligé de s'authentifier par une clé privée ET un mot de passe. | |||
Ce mot de passe dépend de votre configuration pam. Si vous avec juste suivi cette documentation, les utilisateurs pourront se loguer soit avec leur (clé privé + mot de passe unix), soit avec leur (clé privé + OTP yubikey). | |||
Vous pouvez désactiver le login par mot de passe simplement pour un utilisateur en désactivant son mot-de-passe unix (passwd -d <user>). | |||
Notez que vous pouvez spécifier la directive <code>AuthenticationMethods</code> dans une directive <code>Match</code> | |||
=Authentification par clé privé + OTP (pas de password)= | |||
Cette configuration ce sera possible qu'a partir de openssh 6.2 (Debian/Jessie et Debian/wheezy-backports). | |||
Pour installer le paquet en question : <code>aptitude -t wheezy-backports install openssh-server</code> | |||
<pre>aptitude install libpam-yubico</pre> | |||
Créez le fichier <code>/etc/yubikey_mappings</code> qui va contenir l'association entre chaque utilisateur et le token ID yubikey (c'est les 12 premiers caractères issus d'un OTP d'une yubikey). Vous pouvez en spécifier plusieurs en les séparant par <code>:</code> | |||
<pre> | |||
cat > /etc/yubikey_mappings <<EOF | |||
pfoo:cccccatsdogs:ccccdogscats | |||
EOF | |||
</pre> | |||
Attention, si vous souhaitez utiliser la yubikey pour vous loguer en root, pensez à ne PAS désactiver le login root par password dans <code>/etc/ssh/sshd_config</code> (<code>PermitRootLogin yes</code>) | |||
Générez un identifiant client et une clé secrète sur https://upgrade.yubico.com/getapikey/ | |||
Editez le fichier <code>/etc/pam.d/sshd</code> et ajoutez la ligne suivante avant <code>@include common-auth</code> (remplacez XXXX par le <code>Client ID</code> que vous venez de générer chez yubico ; de même pour YYYYYYYY avec la <code>Secret key</code>) : | |||
<pre> | |||
auth required pam_yubico.so id=XXXX key="YYYYYYYY" authfile=/etc/yubikey_mappings | |||
</pre> | </pre> | ||