Für die Arbeit an Linux-Servern verwenden wir sehr gerne SSH in Verbindung mit Schlüsselpaaren. So kann man sich an den Servern anmelden, ohne dass dauernd ein Kennwort eingegeben werden muß.
Diese Anleitung wurde erstellt mit Ubuntu-20.04 und einem SoloKey 3.0.0
Standard-SSH-Schlüsselpaar
Mit dem Standard-SSH-Schlüsselpaar muß man bei jeder SSH-Anmeldung den “Knopf” auf dem SoloKey drücken. Sicherheitstechnisch hat das den Vorteil, dass nicht unbemerkt im Hintergrund SSH-Verbindungen aufgebaut werden können, denn sie erfordern ja diesen manuellen Eingriff. Nachteilig ist, dass man eventuell sehr häufig den Knopf drücken muß. Wenn man bspw. ein Skript ausführt, das nacheinander 5 Kommandos via SSH ausführen möchte, dann muß man 5-mal auf den Knopf drücken.
Unschön ist zusätzlich, dass keine Aufforderung zur Betätigung des Knopfes erscheint, die Ausführung bleibt einfach hängen! Wenn man die Gummihülle vom SoloKey entfernt, dann sieht man, dass die Leuchtdiode anders leuchtet wenn eine Betätigung ansteht.
SSH-Schlüsselpaar anlegen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Schlüssel auf Server hinterlegen
1 2 3 4 5 6 7 8 9 |
|
Schlüssel in SSH-Agent hinterlegen
1 2 3 |
|
Serveranmeldung mit neuem Schlüssel
1 2 3 4 5 6 7 8 9 10 11 |
|
Knopflos-Schlüsselpaar
Man kann das Schlüsselpaar auch so anlegen, dass das Betätigen den Knopfes nicht mehr notwendig ist. Dies vereinfacht den Vorgang des Anmeldens. Nachteilig ist, dass man somit nicht mehr “mitbekommt”, wenn ein Hintergrundprogramm SSH-Verbindungen aufbaut.
Knopflos-SSH-Schlüsselpaar anlegen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Knopflos-Schlüssel auf Server hinterlegen
Wir können den Schlüssel nicht einfach mit ssh-copy-id
auf dem Server hinterlegen, weil
wir beim Hinterlegen die Option “no-touch-required” mit angeben müssen. Also:
- Anmelden am Server:
ssh gitea
- Anpassen von .ssh/authorized_keys:
1
|
|
- Sicherstellen: Zugriffsrechte passen:
chmod 700 .ssh; chmod 600 .ssh/authorized_keys
Knopflos-Schlüssel in SSH-Agent hinterlegen
1 2 3 |
|
Serveranmeldung mit neuem Knopflos-Schlüssel
1 2 3 4 5 6 7 8 |
|
Kompatibilität
Einsatzzweck | Klappt? | Anmerkungen |
---|---|---|
SSH-Anmeldung an Ubuntu-14.04 | Nein | – |
SSH-Anmeldung an Ubuntu-16.04 | Nein | – |
SSH-Anmeldung an Ubuntu-18.04 | Nein | – |
SSH-Anmeldung an Ubuntu-18.04@DP | Ja | Mit rückportiertem OpenSSH von 20.04 |
SSH-Anmeldung an Ubuntu-20.04 | Ja | – |
LUKS-Entsperren Ubuntu-20.04 | Nein | DropbearSSH scheint SK-Schlüssel nicht zu unterstützen |
SSH-Anmeldung SLES-11 | Nein | – |
SSH-Anmeldung SLES-12 | Nein | – |
Gitea-1.13.2 | Nein | Für git clone ... |
Gitea-1.13.2@DPSERV2 | Ja | PAG-GITEA, Für git clone ... – Patch aktiviert |
Gitea-1.13.2@Ilmarinen | Ja | DP-GITEA, Für git clone ... – Patch aktiviert |
Gitbucket@DP | ? | – |
Bitbucket@Highway | ? | – |
Gitlab@Freeway | ? | – |
Gitlab@Gravity | ? | – |
Tests und Probleme
Verwendung des Schlüsseltyps “ed25519-sk”
1 2 3 4 |
|
Test mit SLES11
Anmeldetests mit SLES11 sind gescheitert. Weder Standard-SSH-Schlüsselpaar noch das Knopflos-SSH-Schlüsselpaar funktionieren!
Auf dem SLES11-Rechner ist SSH-2.0-OpenSSH_6.6.1 aktiv!
Test mit SLES12
Anmeldetests mit SLES12 sind gescheitert. Weder Standard-SSH-Schlüsselpaar noch das Knopflos-SSH-Schlüsselpaar funktionieren!
Auf dem SLES12-Rechner ist SSH-2.0-OpenSSH_7.2 aktiv!
Test mit Ubuntu-14.04
- Stardard-OpenSSH-6.6.1: SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.13 – klappt nicht!
Test mit Ubuntu-16.04
- Standard-OpenSSH-7.2: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.10 – klappt nicht!
Test mit Ubuntu-18.04
- Standard-OpenSSH-7.6: SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 – klappt nicht!
- Rückportiertes OpenSSH-8.2: SSH-2.0-OpenSSH_8.2p1 Ubuntu-4dp01~bionic0.1 – klappt!
Test mit Ubuntu-20.04
Klappt! Das ganze Dokument habe ich mit Ubuntu-20.04 durchgespielt!
Links und Referenzen
- How to configure SSH with YubiKey Security Keys U2F Authentication on Ubuntu
- OpenSSH – Configuring FIDO2 Resident Keys
Historie und Anmerkung
- 2021-02-19: Klarstellung “… an Ubuntu-xx.yy”, DP-GITEA
- 2021-02-15: Dropbear zum Entsperren von LUKS
- 2021-02-14: Diverse SSH-Versionen, Tabelle
- 2021-01-16: Ubuntu-18.04 mit OpenSSH.8.2
- 2021-01-09: Erste Version