Anmeldung mit PAM#

So richten Sie die Anmeldung ein#

Sie haben zwei Möglichkeiten: pam_p11 oder PAM Poldi.

Die Lösung mit pam_p11 ist schwieriger zu erreichen und basiert auf S/MIME-Zertifikaten. Bitte schauen Sie in die Dokumentation für weitere Informationen.

PAM Poldi 0.4.1 funktioniert einwandfrei mit Nitrokey für die PAM-Authentifizierung mit RSA-Schlüsseln (siehe Fehlerbehebung für Informationen über ECC-Schlüssel). Neben der Installation von Poldi (z.B. sudo apt-get install libpam-poldi auf Ubuntu) sind die folgenden Schritte erforderlich, um es zum Laufen zu bringen.

Es ist notwendig, dass die Schlüssel bereits auf dem Nitrokey erzeugt wurden, da der Authentifizierungsschlüssel von PAM verwendet wird.

  1. Als erstes müssen Sie die Anwendungs-ID Ihres Nitrokeys herausfinden. Sie sieht so oder ähnlich aus wie D00600012401020000000000xxxxxxxx.

gpg --card-status | grep Application
  1. Nun müssen Sie eine Zeile in /etc/poldi/localdb/users einfügen, die die folgenden Informationen enthält <YourApplicationID> <YourUsername>.

    Dies könnte wie D00600012401020000000000xxxxxxxx nitrokeyuser aussehen. Dumpen Sie nun den öffentlichen Schlüssel aus dem Nitrokey in Poldis lokale Datenbank:

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

Bitte beachten Sie, dass Sie in der obigen Zeile Ihre Application ID mit der Ihres Nitrokeys eingeben müssen!

Dann müssen Sie PAM konfigurieren. Fügen Sie einfach auth sufficient pam_poldi.so zu den PAM-Konfigurationsdateien entsprechend Ihren Bedürfnissen hinzu:

  • /etc/pam.d/common-auth“ für die grafische Benutzeranmeldung

  • /etc/pam.d/login für Konsolenanmeldung

  • /etc/pam.d/sudo“ für die sudo-Authentifizierung

  • /etc/pam.d/gnome-screensaver` für die Rückmeldung von einem gesperrten Bildschirm

  • und andere Dateien in /etc/pam.d

Bemerkung

Es ist gefährlich, mit PAM herumzuspielen, also stellen Sie sicher, dass Sie eine Möglichkeit haben, auf den Rechner zuzugreifen, wenn Sie die Authentifizierung komplett abbrechen. Denken Sie daran, dass das Booten in den Rettungsmodus von GRUB ein Root-Passwort erfordert, halten Sie also dieses oder eine Live-CD, die Ihre Dateisysteme lesen kann, bereit.

Hier finden Sie weitere Anleitungen (in Deutsch, teilweise veraltet).

Fehlersuche#

Wenn Sie eine ähnliche Fehlermeldung wie ERR 100663414 Invalid ID <SCD> erhalten, sollten Sie stattdessen versuchen

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

Bitte beachten Sie, dass Sie in der oberen Zeile Ihre Application ID mit der Ihres Sticks eintragen müssen!

ECC-Schlüssel#

Leider hat Poldi noch keine Unterstützung für ECC-Schlüssel. Aber es gibt einen Patch für ECC-Schlüssel, die mit Nitrokey Start verwendet werden. Dieser ist bereits im Master-Zweig des Poldi-Entwicklungs-Repository enthalten und wird daher irgendwann in einer neueren Version veröffentlicht werden. In der Zwischenzeit besteht die einzige Möglichkeit darin, Poldi aus den Quellen zu bauen.