FIDO2 を使用して ssh サーバーを認証できるかどうか疑問に思っています。SSH 認証に GPG と新しい Yubikey を使用する方法を説明するチュートリアルは多数ありますが、FIDO2 または U2F (特に Yubico セキュリティ キー NFC) を使用して ssh サーバーを認証できるかどうか、またその方法についての情報は見つかりません。
答え1
良いニュースです! オープンSSH8.2FIDO/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
答え2
yubicoが提供するPAMを使用できます。
libpam-yubico
OTP認証に使用できます。参照
libpam-u2f
u2f の場合 (ローカル ポートのみを読み取る libusb を使用するため、ssh では使用できません。)
ところで: PPA は必要ありません。すでにリポジトリに含まれています (少なくとも Debian)。
答え3
このパッチは公式の OpenSSH コードに統合されておらず、かなりハッキング的なため、バグや脆弱性が含まれている可能性があります。