次のコマンドを使用してsshホストに接続したいと思います。
ssh -I /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so HOSTNAME
エラーは、ライブラリがスロットを返さなかったことを示しています。
debug1:プロバイダー/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so:ManufacturerID cryptokiVersion 2.20 libraryDescription libraryVersion 0.17 debug1:pkcs11_add_provider:provider /usr/lib/x86_64-linux-gnu/opensc-pkcs11.soスロットが返されません
リーダーを一覧表示するコマンドは問題なく動作し、スロットが表示されます-そこにあります。
$ opensc-tool --list-readers
# Detected readers (pcsc)
Nr. Card Features Name
0 Yes Gemalto USB Shell Token V2 00 00
これの理由は何でしょうか?
これは関連している可能性があります: スマートカードのSSH認証を設定するにはどうすればよいですか?
=========================== EDIT ====================== ==========
私はこれをあきらめました。
opensc-tool --list-readers
からのメッセージは、リーダーが存在し、カードを認識していることを示しています。
ただし、エラーメッセージの「スロット」は、上位レベルの抽象化、つまりカード自体のプログラム可能な「キースロット」を指します。 pkcs11-tool --list-slots
またはpkcs11-tool --list-token-slots
で表示できます。
また、opensc-tool --name
を実行して、カードタイプが正しく識別されていることを確認することもできます。
https://piv.idmanagement.gov/engineering/ssh/#ssh-from-macos から、Linuxでもほぼ同じように機能します。
Macで証明書を表示するには、次のように入力します。
pkcs15-tool --list-public-keys
PIV AUTH公開キーID番号を書き留めます。
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>
PIV AUTH pubkey ID番号を使用して、SSHキーを表示します。入る:
pkcs15-tool --read-ssh-key 01
プロンプトが表示されたら、PIV/CAC PINを入力します。 SSHキーは次のようになります。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyPn2dShOFLBnMraiP2MnLU ....
SSHキーをコピーして、テキストファイルに貼り付けます。
アカウントを取得すると、リモートサーバーにログインできます。入る:
ssh -I /usr/lib64/opensc-pkcs11.so @
オプションで、/ etc/ssh_configファイルの設定を次のように更新できます。
PKCS11Provider /usr/lib64/opensc-pkcs11.so
PIV/CACを入力してくださいPINプロンプトが表示されたら、それが検証されたら、リモートサーバーにログインします。