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 [2017/09/14 10:20] – 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 | + | ===== Nutzung für ssh ===== |
- | Die Linux-Pam und die verschiedenen Session-Manager können mit GnuPG-Card umgehen. | + | ==== Voraussetzungen ==== |
- | | + | **Deaktivierung des ssh-agent** |
- | Die dort verwendeten Optionen für poldi-ctrl scheinen | + | Der gpg-agent ist in der Lage, auch ssh-Authentifizierungen |
- | * [[http:// | + | In diesem Fall darf aber der ssh-agent nicht gestartet werden, da dieser die Umgebungsvariable überschreiben würde. |
- | ==== Einrichten des Poldi-Moduls: ==== | + | Leider gibt es keine einheitliche Funktionsweise, |
- | (alle Kommandos als Root oder mit sudo) | + | * einige werten die ''/ |
+ | * andere haben eine eigene Startroutine | ||
+ | * wieder andere nutzen wohl neuerdings auch den systemd. | ||
- | Das Packet muss installiert werden: | + | **gnome-keyring-manager darf sich weder für ssh noch für gpg verantwortlich fühlen** |
- | < | + | 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. |
- | apt-get install libpam-poldi | + | |
- | </ | + | |
- | <WRAP center round info 60%> Unter Debian Jessie findet poldi das Binary von scdaemon nicht mehr. Ein | + | * [[http:// |
- | + | * [[http://www.bootc.net/archives/2013/06/09/my-perfect-gnupg-ssh-agent-setup/|http://www.bootc.net/archives/2013/06/09/my-perfect-gnupg-ssh-agent-setup/]] | |
- | < | + | * [[https://grepular.com/Smart_Cards_and_SSH_Authentication|https: |
- | 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 | + | |
- | </ | + | |
- | + | ||
- | ====== Login und Authentifizierung ====== | + | |
- | + | ||
- | ===== Login in lokalen Linux-Rechner ===== | + | |
- | + | ||
- | 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: | + | |
- | + | ||
- | * [[http:// | + | |
- | + | ||
- | ==== Einrichten des Poldi-Moduls: ==== | + | |
- | + | ||
- | (alle Kommandos als Root oder mit sudo) | + | |
- | + | ||
- | Das Packet muss installiert werden: | + | |
- | + | ||
- | < | + | |
- | apt-get install libpam-poldi | + | |
- | </code> | + | |
- | + | ||
- | <WRAP center round info 60%> Unter Debian Jessie findet poldi das Binary von scdaemon nicht mehr. Ein | + | |
- | + | ||
- | < | + | |
- | ln -s /usr/lib/gnupg2/scdaemon | + | |
- | </ | + | |
- | + | ||
- | 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 /etc/poldi/localdb/ | + | |
- | + | ||
- | < | + | |
- | echo " | + | |
- | </code> | + | |
- | + | ||
- | Unter / | + | |
- | + | ||
- | < | + | |
- | poldi-ctrl -s> serialno.txt | + | |
- | poldi-ctrl -k | tee -a /etc/ | + | |
- | </code> | + | |
- | + | ||
- | Damit sollte Poldi fertig konfiguriert sein. | + | |
- | + | ||
- | ==== Einrichten der Authentifizierung ==== | + | |
- | + | ||
- | Nach der grundlegenden Einrichtung der Smartcard, kann das Pam-Poldi-Modul zur /etc/pam.d/common-auth hinzugefügt werden. Alle Authentifikationen, | + | |
- | + | ||
- | < | + | |
- | --- a/pam.d/common-auth | + | |
- | +++ b/pam.d/common-auth | + | |
- | @@ -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 | + | |
- | </ | + | |
- | + | ||
- | ===== Nutzung für ssh ===== | + | |
<WRAP center round tip 60%> Leider hat sich die Interaktion zwischen gnome-keyring-daemon, | <WRAP center round tip 60%> Leider hat sich die Interaktion zwischen gnome-keyring-daemon, | ||
Zeile 163: | Zeile 29: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
- | * | ||
In Stretch ist jetzt die user-Session von systemd verantwortlich für den Start des gpg-agent. Die verschiedenen Anleitungen, | In Stretch ist jetzt die user-Session von systemd verantwortlich für den Start des gpg-agent. Die verschiedenen Anleitungen, | ||
+ | </ | ||
- | Für xfce und mate muss daher ein | + | ==== Vorgehen ==== |
- | + | ||
- | < | + | |
- | 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. </ | + | |
- | + | ||
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * [[https:// | + | |
- | Wir müssen | + | **ssh-Support im gpg-agent konfigurieren** |
< | < | ||
Zeile 193: | Zeile 49: | ||
aus. | aus. | ||
- | ==== Konflikt mit Gnome-Keyring Manager | + | **Konflikt mit Gnome-Keyring Manager |
- | In Gnome-Desktops | + | In manchen |
- | + | ||
- | Um dem Gnome-Keyring-Manager abzugewöhnen, | + | |
< | < | ||
Zeile 217: | Zeile 71: | ||
< | < | ||
- | gconftool-2 --set -t bool / | + | gconftool-2 --set -t bool / |
</ | </ | ||
wird in anderen Howtos genannt, scheint aber nicht in allen Umgebungen nötig zu sein. | wird in anderen Howtos genannt, scheint aber nicht in allen Umgebungen nötig zu sein. | ||
- | === Mate-Desktop === | + | ==== Einzelne |
- | Dieses vorgehen scheint mit Mate-Desktop | + | === XFCE-Desktop in Debian Stretch === |
- | Abhilfe | + | Da xfce4 den gnome-keyring-Daemon nicht automatisch startet, gibt es hier keine Probleme. Lediglich der ssh-agent muss vom Starten abgehalten werden. |
+ | |||
+ | Das lässt sich auf User-Ebene mit folgendem Kommando erreichen: | ||
+ | |||
+ | xfconf-query -c xfce4-session -p / | ||
+ | |||
+ | Per Default ist diese Eigenschaft nicht gesetzt. | ||
+ | |||
+ | Klappt alles nicht, kann ein | ||
+ | |||
+ | < | ||
+ | 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 | ||
< | < | ||
Zeile 276: | Zeile 150: | ||
* [[http:// | * [[http:// | ||
- | Aber mit debian-wheezy sollte das out of the box funktinieren. | + | Aber ab debian-wheezy sollte das out of the box funktionieren. |
- | ==== Konflikt mit Gnome-Keyring Manager | + | ==== ssh über mehrere Server (ForwardAgent) |
- | In Gnome-Desktops (auch Mate, Cinnamon), gibt es einen Konflikt zwischen dem gpg-agent | + | * [[http:// |
- | Um dem Gnome-Keyring-Manager abzugewöhnen, sich für ssh und gpg verantwortlich zu fühlen, benennen wir die Dateien: | + | Damit das funktioniert, muss der ssh-client so konfiguriert werden, dass er " |
+ | |||
+ | * / | ||
+ | * / | ||
< | < | ||
- | / | + | Host * |
- | / | + | |
</ | </ | ||
- | jeweils um, in dem wir z.B. ein '' | + | Eine ausführliche Beschreibung findet sich hier: |
- | In manchen | + | * [[http:// |
+ | |||
+ | ==== Innerhalb von screen-sessions ==== | ||
+ | |||
+ | Hier steht was dazu: | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | 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 | + | apt-get |
</ | </ | ||
- | zu deinstallieren. Das scheint | + | <WRAP center round info 60%> Unter Debian Jessie findet poldi das Binary von scdaemon |
- | Auch ein | + | < |
+ | ln -s / | ||
+ | </ | ||
+ | |||
+ | als Root schafft einfache Abhilfe. </ | ||
+ | |||
+ | Ein | ||
< | < | ||
- | gconftool-2 --set -t bool / | + | poldi-ctrl -d |
</ | </ | ||
- | wird in anderen Howtos genannt, scheint aber nicht in allen Umgebungen nötig zu sein. | + | testet, ob die Karte erkannt wird. |
- | ==== ssh über mehrere Server (ForwardAgent) ==== | + | Mit |
- | * [[http:// | + | < |
+ | poldi-ctrl -s | ||
+ | </code> | ||
- | Damit das funktioniert, | + | finden wir die Seriennummer |
- | * /etc/ssh/ssh_config (sytemweit) | + | 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: |
- | * /home/user/.ssh/config (per user) | + | |
< | < | ||
- | Host * | + | echo " |
- | ForwardAgent yes | + | |
</ | </ | ||
- | Eine ausführliche Beschreibung findet sich hier: | + | Unter / |
- | * [[http:// | + | < |
+ | poldi-ctrl -s> serialno.txt | ||
+ | poldi-ctrl -k | tee -a /etc/poldi/localdb/keys/$(cat serialno.txt) | ||
+ | </ | ||
- | ==== Innerhalb von screen-sessions ==== | + | Damit sollte Poldi fertig konfiguriert sein. |
- | Hier steht was dazu: | + | ==== Einrichten der Authentifizierung ==== |
- | * [[http://www.bootc.net/archives/ | + | Nach der grundlegenden Einrichtung der Smartcard, kann das Pam-Poldi-Modul zur /etc/pam.d/common-auth hinzugefügt werden. Alle Authentifikationen, |
- | + | ||
- | Aber mit debian-wheezy sollte das out of the box funktinieren. | + | |
+ | < | ||
+ | --- 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 | ||
+ | </ |