Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
public:gnupg:gnupg-card_auth [2015/05/26 12:58] – [Konflikt mit Gnome-Keyring Manager] jankow@datenkollektiv.net | public:gnupg:gnupg-card_auth [2020/04/17 11:03] (aktuell) – [Voraussetzungen] jankow@datenkollektiv.net | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Login und Authentifizierung ====== | ====== Login und Authentifizierung ====== | ||
- | ===== Login in lokalen Linux-Rechner ===== | ||
- | Die Linux-Pam und die verschiedenen Session-Manager können mit GnuPG-Card umgehen. | + | ===== Nutzung für ssh ===== |
- | * http:// | + | ==== Voraussetzungen ==== |
- | Die dort verwendeten Optionen für poldi-ctrl scheinen in der wheezy-Version noch nicht zu existieren. Folgendes Information hilft weiter: | + | **Deaktivierung des ssh-agent** |
- | * http:// | + | Der gpg-agent ist in der Lage, auch ssh-Authentifizierungen zu erledigen |
- | ==== Einrichten des Poldi-Moduls: ==== | + | In diesem Fall darf aber der ssh-agent nicht gestartet werden, da dieser die Umgebungsvariable überschreiben würde. |
- | Das Packet muss installiert werden: | + | Leider gibt es keine einheitliche Funktionsweise, |
- | apt-get install libpam-poldi | + | |
- | + | ||
- | Ein | + | |
- | | + | |
+ | * andere haben eine eigene Startroutine | ||
+ | * wieder andere nutzen wohl neuerdings auch den systemd. | ||
- | testet, ob die Karte erkannt wird. | + | **gnome-keyring-manager darf sich weder für ssh noch für gpg verantwortlich fühlen** |
- | + | ||
- | Mit | + | |
- | poldi-ctrl -s | + | Noch komplizieter ist die Lage beim gnome-keyring-manager, der seinerseits wiederum auch eine Funktioalität sowohl für den ssh-agent als auch für den gpg-agent mitbringt. Damit die gnupg-card und die Authentifizierung mit ssh klappt, müssen diese Komponenten deaktiviert sein - bzw. der gnome-keyring-manager darf gar nicht laufen. |
- | finden wir die Seriennummer der Karte heraus ('' | + | * [[http:// |
- | | + | |
- | 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: | + | * [[https:// |
- | echo " | + | <WRAP center round tip 60%> Leider hat sich die Interaktion zwischen gnome-keyring-daemon, gpg-agent und ssh-agent in Debian stretch wiederum geändert. Hinweise dazu gibt es hier: |
- | 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: | + | * [[https://bugs.debian.org/cgi-bin/bugreport.cgi? |
+ | * [[https:// | ||
- | poldi-ctrl -s > serialno.txt | + | In Stretch ist jetzt die user-Session von systemd verantwortlich für den Start des gpg-agent. Die verschiedenen Anleitungen, |
- | poldi-ctrl -k | tee -a /etc/poldi/localdb/keys/`cat serialno.txt | + | </ |
- | Damit sollte Poldi fertig konfiguriert sein. | + | ==== Vorgehen ==== |
- | ==== Einrichten der Authentifizierung ==== | + | **ssh-Support im gpg-agent konfigurieren** |
+ | < | ||
+ | echo " | ||
+ | </ | ||
- | Nach der grundlegenden Einrichtung der Smartcard, kann das Pam-Poldi-Modul zur /etc/pam.d/common-auth hinzugefügt werden. Alle Authentifikationen, | + | Gleichzeitig soll verhindert werden, dass der ssh-agent beim Starten einer Desktop-Umgebung startet. Dazu editieren wir die '' |
< | < | ||
- | --- a/ | + | #use-ssh-agent |
- | +++ b/ | + | |
- | @@ -13,6 +13,8 @@ | + | |
- | # pam-auth-update to manage selection of other modules. | + | |
- | # pam-auth-update(8) for details. | + | |
- | + | ||
- | +# with smartcard | + | |
- | +auth sufficient pam_poldi.so | + | |
- | # here are the per-package modules (the " | + | |
- | | + | |
- | # here's the fallback if no module succeeds | + | |
</ | </ | ||
+ | aus. | ||
- | ===== Nutzung für ssh ===== | + | **Konflikt mit Gnome-Keyring Manager lösen** |
+ | In manchen (älteren Umgebungen - z.B. xfce4 bis Debian Jessie richt es, folgende Dateien umzubenennen | ||
- | * http://www.ozonesolutions.com/programming/2014/ | + | < |
- | * http://www.bootc.net/ | + | /etc/xdg/autostart/gnome-keyring-ssh.desktop |
- | * https:// | + | /etc/xdg/autostart/gnome-keyring-gpg.desktop |
+ | </code> | ||
- | Wir müssen ssh-Support im gpg-agent konfigurieren: | + | jeweils um, in dem wir z.B. ein '' |
- | echo " | + | In manchen [[http://www.bootc.net/archives/ |
- | Gleichzeitig soll verhindert werden, dass der ssh-agent beim Starten einer Desktop-Umgebung startet. Dazu editieren wir die ''/ | + | < |
+ | apt-get remove libpam-gnome-keyring | ||
+ | </code> | ||
- | # | + | zu deinstallieren. Das scheint nicht zwingend notwendig. |
- | aus. | + | Auch ein |
- | ==== Konflikt mit Gnome-Keyring Manager ==== | + | < |
+ | gconftool-2 --set -t bool / | ||
+ | </ | ||
- | 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. | + | wird in anderen Howtos genannt, scheint aber nicht in allen Umgebungen nötig zu sein. |
- | Um dem Gnome-Keyring-Manager abzugewöhnen, | + | ==== Einzelne Desktop-Umgebungen ==== |
- | / | + | === XFCE-Desktop in Debian Stretch === |
- | / | + | |
- | jeweils um, in dem wir z.B. ein '' | + | Da xfce4 den gnome-keyring-Daemon nicht automatisch startet, gibt es hier keine Probleme. Lediglich der ssh-agent muss vom Starten abgehalten werden. |
- | In manchen [[http:// | + | Das lässt sich auf User-Ebene mit folgendem Kommando erreichen: |
- | | + | |
- | zu deinstallieren. Das scheint | + | Per Default ist diese Eigenschaft |
- | Auch ein | + | Klappt alles nicht, kann ein |
- | gconftool-2 --set -t bool /apps/ | + | < |
+ | SSH_AUTH_SOCK=/ | ||
+ | </ | ||
+ | |||
+ | in die ~/.bashrc geschrieben werden. Damit wird die Umgebungsvariable gesetzt, mit dem ssh dann den gpg-agent findet, der für die Authentifizierung zuständig sein soll. | ||
+ | |||
+ | === Mate-Desktop in Debian Stretch=== | ||
+ | |||
+ | Mate scheint den gnome-keyring-manager autonom zu starten - ohne Berücksichtigung der Startskripte unter / | ||
+ | |||
+ | Daher kann Abhilfe auf User-Ebene Abhilfe geschaffen werden: | ||
+ | |||
+ | < | ||
+ | gsettings | ||
+ | </code> | ||
+ | |||
+ | Sieht man sich vorher mit | ||
+ | |||
+ | < | ||
+ | gsettings get org.mate.session gnome-compat-startup | ||
+ | </code> | ||
+ | |||
+ | die Einstellungen an, sieht man, dass nun keyring verschwunden ist. | ||
+ | |||
+ | Zusätzlich deaktiviert mensch mit | ||
+ | |||
+ | < | ||
+ | mate-session-properties | ||
+ | </ | ||
+ | |||
+ | den Autostart vom " | ||
+ | |||
+ | Nach dem nächsten Neustart sollte der gpg-agent ohne gnome-keyring-manager funktionieren. | ||
+ | |||
+ | [[http:// | ||
- | wird in anderen Howtos genannt, scheint aber nicht in allen Umgebungen nötig zu sein. | ||
==== ssh über mehrere Server (ForwardAgent) ==== | ==== ssh über mehrere Server (ForwardAgent) ==== | ||
- | * http:// | + | * [[http:// |
Damit das funktioniert, | Damit das funktioniert, | ||
+ | * / | ||
+ | * / | ||
+ | |||
+ | < | ||
+ | Host * | ||
+ | ForwardAgent yes | ||
+ | </ | ||
+ | |||
+ | Eine ausführliche Beschreibung findet sich hier: | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | ==== Innerhalb von screen-sessions ==== | ||
+ | |||
+ | Hier steht was dazu: | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | Aber ab debian-wheezy sollte das out of the box funktionieren. | ||
+ | |||
+ | ==== ssh über mehrere Server (ForwardAgent) ==== | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | Damit das funktioniert, | ||
* / | * / | ||
* / | * / | ||
- | | + | < |
- | ForwardAgent yes | + | Host * |
+ | ForwardAgent yes | ||
+ | </ | ||
Eine ausführliche Beschreibung findet sich hier: | Eine ausführliche Beschreibung findet sich hier: | ||
- | * http:// | + | * [[http:// |
==== Innerhalb von screen-sessions ==== | ==== Innerhalb von screen-sessions ==== | ||
Zeile 118: | Zeile 174: | ||
Hier steht was dazu: | Hier steht was dazu: | ||
- | * http:// | + | * [[http:// |
Aber mit debian-wheezy sollte das out of the box funktinieren. | Aber mit debian-wheezy sollte das out of the box funktinieren. | ||
+ | ===== Login in lokalen Linux-Rechner ===== | ||
+ | |||
+ | Die Linux-Pam und die verschiedenen Session-Manager können mit GnuPG-Card umgehen. | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | Die dort verwendeten Optionen für poldi-ctrl scheinen in der wheezy-Version noch nicht zu existieren. Folgendes Information hilft weiter: | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | ==== Einrichten des Poldi-Moduls: | ||
+ | |||
+ | (alle Kommandos als Root oder mit sudo) | ||
+ | |||
+ | Das Packet muss installiert werden: | ||
+ | |||
+ | < | ||
+ | apt-get install libpam-poldi | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 60%> Unter Debian Jessie findet poldi das Binary von scdaemon nicht mehr. Ein | ||
+ | |||
+ | < | ||
+ | ln -s / | ||
+ | </ | ||
+ | |||
+ | als Root schafft einfache Abhilfe. </ | ||
+ | |||
+ | Ein | ||
+ | |||
+ | < | ||
+ | poldi-ctrl -d | ||
+ | </ | ||
+ | |||
+ | testet, ob die Karte erkannt wird. | ||
+ | |||
+ | Mit | ||
+ | |||
+ | < | ||
+ | poldi-ctrl -s | ||
+ | </ | ||
+ | |||
+ | finden wir die Seriennummer der Karte heraus ('' | ||
+ | |||
+ | Jetzt müssen wir unter / | ||
+ | |||
+ | < | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | Unter / | ||
+ | |||
+ | < | ||
+ | poldi-ctrl -s> serialno.txt | ||
+ | poldi-ctrl -k | tee -a / | ||
+ | </ | ||
+ | |||
+ | Damit sollte Poldi fertig konfiguriert sein. | ||
+ | |||
+ | ==== Einrichten der Authentifizierung ==== | ||
+ | |||
+ | Nach der grundlegenden Einrichtung der Smartcard, kann das Pam-Poldi-Modul zur / | ||
+ | |||
+ | < | ||
+ | --- a/ | ||
+ | +++ b/ | ||
+ | @@ -13,6 +13,8 @@ | ||
+ | # pam-auth-update to manage selection of other modules. | ||
+ | # pam-auth-update(8) for details. | ||
+ | |||
+ | +# with smartcard | ||
+ | +auth sufficient pam_poldi.so | ||
+ | # here are the per-package modules (the " | ||
+ | | ||
+ | # here's the fallback if no module succeeds | ||
+ | </ |