次のコマンドを使用して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でもほぼ同じように動作します。
- OpenSCをインストールします。
- PIV / CACをカードリーダーに挿入します。
Mac で証明書を表示するには、次のように入力します。
pkcs15-tools--リスト-公開キー
PIV AUTH公開鍵ID番号をメモしてください。
- カードでカードリーダーを使用する: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>
PIV AUTH公開鍵ID番号を使用してSSH鍵を確認してください。入力する:
pkcs15-tools--read-ssh-key 01
プロンプトが表示されたら、PIV / CAC PINを入力してください。 SSHキーは次のとおりです。
ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCyPn2dShOFLBnMraiP2MnLU....
SSHキーをコピーしてテキストファイルに貼り付けます。
- テキストファイルをサーバー管理者に送信し、新しいアカウントをリクエストしてください。
アカウントがあれば、リモートサーバーにログインできます。入力する:
ssh -I /usr/lib64/opensc-pkcs11.so@
または、/etc/ssh_configファイルの設定を次のように更新できます。
PKCS11Provider /usr/lib64/opensc-pkcs11.so
プロンプトが表示されたら、PIV / CAC PINを入力してください。認証されると、リモートサーバーにログインします。