PAMでログイン#
ログインの設定方法#
`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でキーを生成しておく必要があります。
まず、Nitrokey のアプリケーション ID を確認する必要があります。
D00600012401020000000000xxxxxxxx
のような形か似ています。
gpg --card-status | grep Application
ここで、
/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 をソースからビルドするのが唯一の方法です。