HSPD-12カードでオンボードキーで生成されたキーをopensshキーとして使用できますか?もしそうなら、どのように?
スマートカードのポイントは、生成されたキーペアの秘密キーを抽出できないことですが、公開キーは一般的にアクセス可能です。
* nixの場合、opensc(github.com/OpenSC)ツールをインストールする必要があります。 Ubuntuについて:
$ Sudo apt-get install opensc
$ Sudo apt-get install opensc-pkcs11
役立つと思われる追加のパッケージには、OpenSSL(上記でインストールされたengine-pkcs11.soの場合-ただし、このプロセスには必要ありません)が含まれます。
sshとsmartcardsに関する主な質問に戻る:
カードで生成された2048バイトのRSAキーであるsshを例にとると、リモートホストに公開キーを配置する必要があります。次に、デスクトップ(デスクトップ:スマートカードが挿入されたスマートカードリーダー)からリモートホストにSSHで接続すると、カードのロックを解除するためにPINを入力するように求められます。
公開鍵を抽出します
私のテストHSPD-12/PIVでは、最初のキースロットは認証キーで、2番目は署名キーです。 opensc-toolsを使用して公開鍵を抽出します。
# note: use 'lsusb' to see if you can see your card reader, if not fix it.
$ pkcs15-tool --read-certificate 2 --out my_key.pub
リモートホストで、他の公開鍵を追加するのと同じ方法で、my_key.pubの内容を〜/ .ssh/authorized_keys2ファイルに配置します。
Opensshの例:
$ ssh -I /usr/lib/opensc-pkcs11.so martin@remotehost
Enter PIN for 'MARTIN PALJAK (PIN1)':
martin@remotehost:~$
上記はOpenSCプロジェクトウィキから抜粋したものです: https://github.com/OpenSC/OpenSC/wiki/OpenSSH-and-smart-cards-PKCS%2311
uDude