SSH-Verbindungen mit Public Key (Schlüsseldatei) absichern

25. Januar 2023

Hier nur eine kurze Anleitung, wie man SSH-Verbindungen unter Linux mit einem Public Key Verfahren absichern kann.
Dies ist vor allem zu empfehlen, wenn der SSH-Zugang vom Internet aus zugänglich sein soll.
Denn normale Nutzer/Passwort Verfahren lassen sich deutlich einfacher über Bruteforce-Attacken knacken.

Der Aufbau ist wie folgt:
Es wird ein private Key auf dem Client (Laptop/Smartphone/etc.) und ein public Key auf dem Server (z.B. dem Raspberry Pi) gespeichert.
Diese Dateien lassen sich direkt in Linux, aber auch in Putty generieren.
(Kurzinfo: Putty hat dabei ein angepasstes Verfahren, aber die von Linux erzeugten private Keys können auch für Putty konvertiert werden.)
Außerdem muss die SSH-Config entsprechend angepasst werden, sodass beispielsweise der Zugang über das Nutzer/Passwort Verfahren verhindert wird.

Zunächst legen wir uns ein Verzeichnis für den Public Key auf dem Server an (dieses muss für jeden Nutzer angelegt werden)
mkdir -p .ssh/KEYS/
mit dem Befehl
ssh-keygen -t rsa -b 4096
wird ein Schlüsselpaar erzeugt. Der Dateiname ist dabei egal. Wenn du beispielsweise nur „mykey“ eingibst, werden die Dateien „mykey“ und „mykey.pub“ in deinem home Verzeichnis erzeugt.
„mykey.pub“ ist dabei der Public Key, der auf dem Server zu finden sein muss.
Verschiebe ihn am besten in den Ordner .ssh/KEYS/ (Beispielsweise /home/pi/.ssh/KEYS/ oder /root/.ssh/KEYS/ für den root-Zugang)

Nun passen wir noch die /etc/ssh/sshd_config an.

# Für Root-Zugang (optional)
PermitRootLogin yes
# Für das Public Key Verfahren
PubkeyAuthentication yes
# Die Pfadangabe für den Public Key
AuthorizedKeysFile .ssh/KEYS/mykey.pub
# Nutzer/Passwort Verfahren ausschalten
PasswordAuthentication no

Die entsprechenden Zeilen sollten, sofern nicht bereists eingekommentiert, in der /etc/ssh/sshd_config bereits durch eine # auskommentiert vorhanden sein.
Anschließend können die Änderungen sudo service ssh restart & sudo service sshd restart übernommen werden.
Achte darauf, dir vorher die „mykey“ datei auf deinen Client zu kopieren.

# Nutzer/Passwort Verfahren zur Sicherheit noch kurz eingeschaltet lassen
PasswordAuthentication yes

Nun kannst du dich (beispielsweise mit Putty) mit dem Befehl
start putty -ssh pi@10.1.1.11 -i "C:\Users\user\.ssh\KEYS\mykey.ppk"
auf dein SSH verbinden. Dazu musst du deinen Private Key „mykey“ nur mit Hilfe des PuTTY Key Generator importieren und als *mykey.ppk“ abspeichern (konvertierern).

In anderen SSH-Konsolen funktioniert dies ähnlich.

Um weitere Public Keys zuzulassen, genügt es eine weitere Zeile in der „mykey.pub“ hinzuzufügen.

Wenn alles läuft:

# Nutzer/Passwort Verfahren ausschalten
PasswordAuthentication no

Und dann ist alles ein bisschen sicherer.

Referral Links / Affiliate Links

Amazon: ei23.de/amzn
Berrybase.de: ei23.de/bbase
AliExpress: ei23.de/alxprss
Tesla: ts.la/felix404831

Hier zahlen die Unternehmen eine Provision für die Werbung. Nicht viel, aber wenn jeder mitmacht lohnt es sich. Die Preise im Shop sind dabei die selben wie sonst auch. Es schadet also nicht dir die Links als Lesezeichen zu speichern.


Mitarbeit

Möchtest du statt Geld, lieber mit Zeit, Wissen und Fähigkeiten unterstützen wäre das natürlich genauso super!
Werde Teil der Community (Forum, Discord oder Telegram siehe unten). Teile dein Wissen über GitHub


Direkte finanzielle Unterstützung

Wenn du dieses Projekt direkt finanziell unterstützen willst, kannst du das z.B. hier:

paypal.me/ei23de
patreon.com/ei23

Oder als Überweisung

Felix Grave
IBAN: DE81 1001 1001 2629 7060 89
BIC: NTSBDEB1XXX
Verwendungszweck: ei23DIY
Adresse, falls benötigt, siehe Impressum.

Auch wenn ich das Wort Spende nutze, die Zahlung freiwillig erfolgt und nicht unbedingt zweckgebunden ist, handelt es bei dieser finanziellen Transaktion um eine gewerbliche Einnahme die ich voll versteuern muss.

Alle Spender bekommen von mir als Dankeschön ein paar Extras per Mail! Um davon zu profitieren kannst du dich hier eintragen*
*Die Eintragung ist freiwillig, ohne Eintragung gibts aber keine Extras, aber auch ein großes Danke! Die Eintragung wird mit dem Geldeingang per Mail bestätigt.





Kurznachricht

Vielen Dank im Voraus!


Kommentare sind geschlossen.