PAMでログイン#

(Nitrokey Storage 2 - Linux)

ログインの設定方法#

選択肢は2つです。pam_p11 または Poldi です。

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

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

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

  1. まず、自分の Nitrokey の "Application ID" を見つける必要があります。gpg --card-status | grep Application で、自分のものが分かります。D00600012401020000000000xxxxxxxx のような感じです。

  2. ここで、/etc/poldi/localdb/usersに以下の情報を含む行を追加する必要があります。

    <YourApplicationID> <YourUsername>

    これは 'D00600012401020000000000xxxxxxx nitrokeyuser' のようになります。ここで、Nitrokey から公開鍵を poldi のローカル 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 ロックされた画面からの復帰に使用します。

  • など

注釈

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

ここでは、` 詳細な説明 <http://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 をソースからビルドするのが唯一の選択肢です。