スマートカードを使用するLinuxホストのSSHは機能しません。

スマートカードを使用するLinuxホストのSSHは機能しません。

次のコマンドを使用してSSHホストに接続したいと思います。

ssh -I /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so HOSTNAME

エラーは、ライブラリがスロットを返さないことを示します。

debug1: プロバイダ /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so: メーカー ID cryptoki バージョン 2.20 ライブラリの説明 ライブラリ バージョン 0.17 debug1: pkcs11_add_provider: プロバイダ /usr/lib/x86_64-linux-gだからスロットを返さない

リーダーリストを作成するコマンドは正しく機能します。スロットが見えます。まさにそこにあります。

$ opensc-tool --list-readers
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             Gemalto USB Shell Token V2 00 00

その理由は何ですか?

これは以下に関連する可能性があります。スマートカードSSH認証をどのように設定しますか?

===========================編集====================== =========

私は正式にこれを放棄します。

答え1

メッセージは、opensc-tool --list-readers カードリーダーが存在し、カードを認識していることを示します。

しかし、エラーメッセージの「スロット」は、より高いレベルの抽象化、すなわちカード自体のプログラム可能な「キースロット」を表す。あなたはpkcs11-tool --list-slotsそれを使用したり見ることができますpkcs11-tool --list-token-slots

opensc-tool --name カードの種類が正しく認識されていることを確認するために実行することもできます。

答え2

~からhttps://piv.idmanagement.gov/engineering/ssh/#ssh-from-macosLinuxでもほぼ同じように動作します。

  1. OpenSCをインストールします。
  2. PIV / CACをカードリーダーに挿入します。
  3. Mac で証明書を表示するには、次のように入力します。

    pkcs15-tools--リスト-公開キー

  4. PIV AUTH公開鍵ID番号をメモしてください。

  5. カードでカードリーダーを使用する:SCR35xxスマートカードリーダー
 Public RSA Key [PIV AUTH pubkey]
     Object Flags   : [0x0]
     Usage          : [0xD1], encrypt, wrap, verify, verifyRecover
     Access Flags   : [0x2], extract
     ModLength      : 2048
     Key ref        : 154 (0x9A)
     Native         : yes
     ID             : 01 (EXAMPLE ONLY)
     DirectValue    : <absent>
  1. PIV AUTH公開鍵ID番号を使用してSSH鍵を確認してください。入力する:

    pkcs15-tools--read-ssh-key 01

  2. プロンプトが表示されたら、PIV / CAC PINを入力してください。 SSHキーは次のとおりです。

    ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCyPn2dShOFLBnMraiP2MnLU....

  3. SSHキーをコピーしてテキストファイルに貼り付けます。

  4. テキストファイルをサーバー管理者に送信し、新しいアカウントをリクエストしてください。
  5. アカウントがあれば、リモートサーバーにログインできます。入力する:

    ssh -I /usr/lib64/opensc-pkcs11.so@

  6. または、/etc/ssh_configファイルの設定を次のように更新できます。

    PKCS11Provider /usr/lib64/opensc-pkcs11.so

  7. プロンプトが表示されたら、PIV / CAC PINを入力してください。認証されると、リモートサーバーにログインします。

関連情報