Dies ist eine alte Version des Dokuments!


Login und Authentifizierung

Die Linux-Pam und die verschiedenen Session-Manager können mit GnuPG-Card umgehen.

Die dort verwendeten Optionen für poldi-ctrl scheinen in der wheezy-Version noch nicht zu existieren. Folgendes Information hilft weiter:

Das Packet muss installiert werden:

apt-get install libpam-poldi

Ein

poldi-ctrl -d

testet, ob die Karte erkannt wird.

Mit

poldi-ctrl -s

finden wir die Seriennummer der Karte heraus (gnupg –card-status würde auch funktionieren).

Jetzt müssen wir unter /etc/poldi/localdb/users eine Kartei der User anlegen, für die die Authentifizierung mit der jeweiligen Karte eingerichtet werden soll. Z.B. mit:

echo "`poldi-ctrl -s` USERNAME" | tee -a /etc/poldi/localdb/users

Unter /etc/poldi/localdb/keys/ muss jetzt für jede Karte eine Datei mit der Seriennummer als Dateiname angelegt werden, die den public Key der Karte enthält. Das geht einfach mit:

poldi-ctrl -s > serialno.txt
poldi-ctrl -k | tee -a /etc/poldi/localdb/keys/`cat serialno.txt

Damit sollte Poldi fertig konfiguriert sein.

Nach der grundlegenden Einrichtung der Smartcard, kann das Pam-Poldi-Modul zur /etc/pam.d/common-auth hinzugefügt werden. Alle Authentifikationen, die auf die common-auth zurückgreifen (u.a. xscreensaver, sudo) können dann auch via smartcard authentifizieren. Wenn das Modul am Anfang der common-auth hinzugefügt wird und alle anderen Einträge bleiben, ist die Gnupg Card ein zusätzliches Authentifizierungsmittel. Bitte immer testen, so lange noch eine offene Konsole verfügbar ist, um die Änderungen ggf. zu korrigieren. Sonst sperrt mensch sich leicht aus.

--- a/pam.d/common-auth
+++ b/pam.d/common-auth
@@ -13,6 +13,8 @@
 # pam-auth-update to manage selection of other modules.  See
 # pam-auth-update(8) for details.
 
+# with smartcard
+auth sufficient pam_poldi.so
 # here are the per-package modules (the "Primary" block)
 auth   [success=1 default=ignore]      pam_unix.so nullok_secure
 # here's the fallback if no module succeeds

Wir müssen ssh-Support im gpg-agent konfigurieren:

echo "enable-ssh-support" >> ~/.gnupg/gpg-agent.conf

Gleichzeitig soll verhindert werden, dass der ssh-agent beim Starten einer Desktop-Umgebung startet. Dazu editieren wir die /etc/X11/Xsession.options und kommentieren

#use-ssh-agent

aus.

In Gnome-Desktops (auch Mate, Cinnamon), gibt es einen Konflikt zwischen dem gpg-agent und dem gnome-keyring Manager, in dessen Folge der gpg-Agent nicht startet.

Um dem Gnome-Keyring-Manager abzugewöhnen, sich für ssh und gpg verantwortlich zu fühlen, benennen wir die Dateien:

/etc/xdg/autostart/gnome-keyring-ssh.desktop
/etc/xdg/autostart/gnome-keyring-gpg.desktop

jeweils um, in dem wir z.B. ein .disable anhängen. Wir könnten sie theoretisch auch löschen.

In manchen Howtos wird empfohlen

apt-get remove libpam-gnome-keyring

zu deinstallieren. Das ist in meinem Fall nicht nötig gewesen.

Auch ein

gconftool-2 --set -t bool /apps/gnome-keyring/daemon-component/ssh true

wird in anderen Howtos genannt. Bei mir hat's auch ohne funktioniert.

Damit das funktioniert, muss der ssh-client so konfiguriert werden, dass er „agent-forwarding“ untestützt:

  • /etc/ssh/ssh_config (sytemweit)
  • /home/user/.ssh/config (per user)
Host *
      ForwardAgent yes

Eine ausführliche Beschreibung findet sich hier:

Hier steht was dazu:

Aber mit debian-wheezy sollte das out of the box funktinieren.

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information