FIDO2を使用してsshサーバーに対する認証を行うことができるかどうか疑問に思っていました。 ssh認証にGPGと新しいYubikeysを使用する方法を説明するチュートリアルはたくさんありますが、FIDO2またはU2F(特にYubico Security Key NFC)を使用して認証することが可能かどうか、またはどのように使用できるかについての情報は見つかりません。 sshサーバー。
Yubicoが提供するpamを使用できます。
libpam-yubico
for otp認証を使用できます。 ref
libpam-u2f
for u2f(ローカルポートのみを読み取るlibusbを使用するため、sshでは使用できません。)
ところで:PPAは必要ありません。すでにリポジトリにあります(少なくともDebian)。
朗報! OpenSSH 8.2 FIDO/U2Fのサポートが追加されました。パッチはもう必要ありません。
FIDO/U2Fサポート
このリリースでは、OpenSSHにFIDO/U2Fハードウェアオーセンティケーターのサポートが追加されています。 U2F/FIDOは、Webサイト認証に広く使用されている、安価な2要素認証ハードウェアのオープンスタンダードです。 OpenSSHでは、FIDOデバイスは、対応する証明書タイプとともに、新しい公開鍵タイプ
ecdsa-sk
およびed25519-sk
でサポートされています。
ssh-keygen
(1)は、FIDOトークン付きキーを生成するために使用できます。その後、キーの使用時にハードウェアトークンがアタッチされている限り、OpenSSHでサポートされている他のキータイプと同じように使用できます。また、FIDOトークンは通常、ユーザーがタッチまたはタップして操作を明示的に承認する必要があります。FIDOキーを生成するには、トークンを添付する必要があり、通常、ユーザーはトークンをタップして操作を確認する必要があります。
$ ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk Generating public/private ecdsa-sk key pair. You may need to touch your security key to authorize key generation. Enter file in which to save the key (/home/djm/.ssh/id_ecdsa_sk): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/djm/.ssh/id_ecdsa_sk Your public key has been saved in /home/djm/.ssh/id_ecdsa_sk.pub