web-dev-qa-db-ja.com

Nitrokeyを使用したSSHキーベースの認証

だから私は、より安全な形式のキー管理にかなり慣れていないので、自分のコンピューターのキーファイル内にキーを保存することに慣れています。最近、Nitrokey Proに保存されたキーを使用してWebサーバーへのSSH認証をセットアップし、プロセスでキーチェーンをよりポータブルで安全にできるかどうかを試してみたかった。

私は このガイド を少しずつ確認しましたが、最終的に、認証を成功させるためにNitrokey Proをコンピューターに挿入する必要はまったくないことに気付きました。

キーをエクスポートすると、ローカルキーストレージに何らかの形で追加されてNitrokeyが冗長になるように感じますが、正確な動作については十分に理解できていません。

Nitrokeyがコンピューターに挿入されている間は、誰でも私が自分のWebサーバーにのみSSHで接続できるようにするのを手伝ってくれるでしょうか?

ノート:

  • OS:OSX El Capitan 10.11.4
  • Nitrokey Pro
  • コンピュータにNitrokeyが挿入されている場合でも、SSHを試行するときにPINの入力を求められません。
  • OpenSC 0.15.0
  • gpg 2.0.28

〜/ .sshから以下を削除してみました:

id.rsa
private_key.pem

私のWebサーバーに再度SSH接続を試みた後、

権限が拒否されました(publickey、gssapi-keyex、gssapi-with-mic)。

これは、SSHセッションが認証に使用するキーを見つけられないことを示していると思います。次のコマンドを実行して、コンピューターがNitrokeyを検出しているかどうかを確認しました。

gpg --card-status

そして、私が期待するようなカード情報を受け取りました。

5
MSB

鍵をエクスポートすると、どういうわけかローカル鍵ストレージに追加されてNitroKeyが冗長になったように感じますが、正確な動作については十分に理解できていません。

それが適切に行われた場合、それは不可能であるべきです。秘密鍵が「スマートカード」に格納されている場合、それはエクスポート可能ではなく、すべての秘密鍵操作でそのカードが必要です。

私はNitroKeyを持っていないので、ニトロキーアプリケーションの内部について知識がないので、さらに光をもたらすコマンドはほとんどありません。

  • カードに保存されているキーを使用して、接続のdevbugログを投稿します:ssh -vvv server
  • ssh-add -Lはどのように見えますか?
  • pkcs11-tool --login -O --module /path/to/usr/lib64/pkcs11/opensc-pkcs11.soを実行すると、「スマートカード」にキーが表示されますか
3
Jakuje