PAMでログイン#

(Nitrokey Storage 2 - Linux)

ログインの設定方法#

`pam_p11<https://github.com/OpenSC/pam_pkcs11>`__ または`PAM Poldi<https://wiki.ubuntuusers.de/Archiv/Authentifizierung_OpenPGP_SmartCard/>`__ の2つのオプションがあります。

pam_p11 での解決はより困難で、S/MIME 証明書に基づいています。詳細は ` のドキュメント <https://opensc.github.io/pam_pkcs11/doc/pam_pkcs11.html>`__ を見てください。

PAM Poldi 0.4.1 は Nitrokey を使って RSA 鍵による PAM 認証で問題なく動作します (ECC 鍵については トラブルシューティングを参照してください)。Poldi のインストール (例:sudo apt-get install libpam-poldi on Ubuntu) の他に、動作させるために以下の手順が必要です。

認証キーはPAMで使用するため、すでにNitrokeyでキーを生成しておく必要があります。

  1. まず、Nitrokey のアプリケーション ID を確認する必要があります。D00600012401020000000000xxxxxxxx のような形か似ています。

gpg --card-status | grep Application
  1. ここで、/etc/poldi/localdb/users に、以下の情報を含む行を追加する必要があります。<YourApplicationID> <YourUsername>.

    これは、``D00600012401020000000000xxxxxxxx nitrokeyuser``のように見えるかもしれません。NitrokeyからPoldisのローカルDBに公開鍵をダンプします。

sudo sh -c 'gpg-connect-agent "/datafile /etc/poldi/localdb/keys/<YourApplicationID>" "SCD READKEY --advanced OPENPGP.3" /bye'

応募IDは、ニトロキーのものと一緒に上の行に入れる必要がありますので、ご注意ください。

次に、PAMの設定を行います。PAMの設定ファイルに``auth sufficient pam_poldi.so`` を必要な分だけ追加するだけです。

  • グラフィカルなユーザーログインのための `/etc/pam.d/common-auth`

  • /etc/pam.d/login コンソールログイン用

  • /etc/pam.d/sudo sudo 認証用

  • ロックされた画面からログインし直すための `/etc/pam.d/gnome-screensaver` を用意しました。

  • およびその他のファイル``/etc/pam.d`` にあります。

注釈

PAM は弄るには危険なので、認証を完全に壊してもマシンにアクセスできる方法を 確保してください。GRUB からレスキューモードで起動するには root パスワードが必要であることを忘れないでください。

ここでは、` 詳細な説明 <https://wiki.ubuntuusers.de/Archiv/Authentifizierung_OpenPGP_SmartCard>`__ (ドイツ語で、一部古くなっています) をご覧ください。

トラブルシューティング#

ERR 100663414 Invalid ID <SCD> のようなエラーが発生した場合は、代わりに以下を試してみてください。

poldi-ctrl -k > <YourApplicationID>; sudo mv <YourApplicationID> /etc/poldi/localdb/keys

応募IDは、スティックと一緒に上の行に入力してください。

ECCキー#

残念ながら、Poldi はまだ ECC キーをサポートしていません。しかし、Nitrokey Start<https://dev.gnupg.org/T4009>`__で使われるECCキー用の`パッチがあります。これはすでに Poldi の開発リポジトリの master ブランチに含まれているので、いずれは新しいバージョンでリリースされるでしょう。それまでは Poldi をソースからビルドするのが唯一の方法です。