Passwortlose SSH-Anmeldung mit SSH-Schlüsselpaar oder YubiKey am Synology NAS

Die Anmeldung an einem Synology NAS via SSH lässt sich relativ einfach konfigurieren. Bei dieser Anmeldemethode muss man aber ständig das Passwort eingeben, was auch mit einem Passwortmanager nervig sein kann.

Das ganze Anmeldeverfahren lässt sich auch passwortlos mit Hilfe eines SSH-Keys durchführen. Jeder kann ein solches Schlüsselpaar einfach erstellen und damit die Anmeldung sehr sicher und einfach gestalten, und dazu ohne Passworteingabe.

Besitzer eines YubiKeys können den darauf gespeicherten und umgemodelten GPG-SSH-Schlüssel für die Anmeldung am Synology NAS verwenden und das auch ohne Eingabe eines Passworts. Natürlich muss der YubiKey GPG unterstützen und ein paar Programme auf dem Client vorhanden sein.


Inhaltsverzeichnis

Synology NAS – Vorbereitung für SSH-Anmeldung

Meine Hardware

SSH-Schlüssel-Paar anlegen – ohne YubiKey

Passwortlose SSH-Anmeldung am Synology NAS einrichten

ssh-Verzeichnis anlegen
authorized_keys-Datei erstellen
Öffentlichen SSH-Schlüssel über die Zwischenablage kopieren
Öffentlichen SSH-Schlüssel mit SCP kopieren
Zugriffsrechte festlegen
sshd_config anpassen
sshd_config anpassen

Benutzer aus Administratoren-Gruppe entfernen

SSH-Anmeldung am Synology NAS über das Internet

Fallback



!!!ACHTUNG!!!
Wenn ihr in der nachfolgenden Konfiguration einen Fehler macht, könnt ihr euch von der Synology aussperren. Eine Anmeldung per SSH ist dann nicht mehr möglich, funktioniert aber nach wie vor über den Webbrowser.

Die hier vorgestellte Konfiguration hat bei mir so wie beschrieben funktioniert.

Ich übernehme jedoch keine Garantie für die Resultate; Ausprobieren und Implementieren der beschriebenen Vorgehensweise erfolgt ausschließlich auf eigene Verantwortung und Gefahr.


Synology NAS – Vorbereitung für SSH-Anmeldung

Damit man sich überhaupt per SSH an einem Synology NAS anmelden kann, muss man die Form der Anmeldung erst einmal in der Systemsteuerung aktivieren. Dazu meldet ihr euch an der Weboberfläche eures Synology NAS an und hangelt euch bis zu den Systemsteuerungen durch:
Systemsteuerungen –> Terminal & SNMP –> Terminal

Synology NAS - SSH-Zugriff aktivieren
Synology NAS – SSH-Zugriff aktivieren

Danach solltet ihr euren Benutzer, der sich per SSH am Synology anmelden soll unbedingt zurr “Administratoren“-Gruppe hinzufügen.

Benutzer zur Admingruppe hinzufügen
Benutzer zur Admingruppe hinzufügen

Nach dem Speichen der SSH-Einstellungen kann sich euer Benutzer im gleichen Netzwerk schon per SSH an dem NAS anmelden:

bentuzer@ip-adresse:22
PuTTY - SSH-Anmeldung am Synology NAS
PuTTY – SSH-Anmeldung am Synology NAS

Die SSH-Session öffnet sich und ihr müsst das Passwort eures Benutzer noch eingeben. Nach der erfolgreichen Anmeldung seht ihr eine Fehlermeldung, dass kein Home-Verzeichnis gefunden wurde.

Ein Home-Verzeichnis pro Benutzer ist aber Voraussetzung, dass eine passwortlose Anmeldung mit SSH-Schlüsselpaar oder dem YubiKey erfolgen kann.

Das Home-Verzeichnis für die Benutzer könnt ihr ebenfalls sehr einfach über die Weboberfläche in den “Systemeinstellungen” anlegen.

Synology NAS - Benutzerverzeichnis /home erstellen
Synology NAS – Benutzerverzeichnis /home erstellen

Meldet ihr euch nun per SSH an eurem NAS an, ist die Fehlermeldung verschwunden. Den vollständigen Pfad zum Home-Verzeichnis könnt ihr euch mit dem Befehl anzeigen lassen.

pwd

Der Pfad solte so aussehen:

/var/services/homes/benutzername

Nach diesem Schritt ist die gesamte weitere Konfiguration nur noch über die Konsole möglich. Über die Weboberfläche lassen sich die erforderliche Einstellungen nicht oder teilweise nur sehr umständlich vornehmen.

Meine Hardware

Synology DS218+

Angebot Synology DS218 2-Bay-Desktop-NAS-Gehäuse
Angebot WD Red 1TB 3.5' NAS Interne Festplatte - 5400 RPM -...

YubiKey 5Ci

Yubico - YubiKey 5C NFC - Two Factor Authentication USB...
Yubico YubiKey 5Ci - Two Factor Authentication...

SSH-Schlüssel-Paar anlegen – ohne YubiKey

Wenn ihr über keinen YubiKey verfügt und euch noch ein SSH-Schlüsselpaar erzeugen möchtet, findet ihr hier eine detaillierte Anleitung:

Zugriff via SSH ohne Passworteingabe; Anmeldung erfolgt durch ausgetauschten SSH-Schlüssel

Beachtet dabei, dass ihr die Schlüssel über ein vertrauenswürdiges und sicheres Betriebssystem erzeugen solltet. Das ist zum Beispiel in einer virtuelle Box möglich, die ihr nur zu diesem Zweck verwendet.
Auch dazu findet ihr eine detaillierte Anleitung hier im Blog. Die Installation wird am Beispiel eines Ubuntu aufgezeigt.
Python Entwicklungsumgebung – Schritt 1: Ubuntu virtualisieren

Nachdem ihr nun eure eigenen SSH-Schlüssel habt, oder bereits über einen YubiKey verfügt, kann es mit der Konfiguration des Synology NAS weitergehen.

Passwortlose SSH-Anmeldung am Synology NAS einrichten

Meldet euch an eurem Synology NAS per SSH mit eurem Benutzer an, den ihr der Administratoren-Gruppe hinzugefügt habe.

Führt den Befehl “pwd” aus, um zu prüfen, ob ihr euch auch im richtigen Home-Verzeichnis befindet.

Nun müsst ihr folgendes machen

  1. Verzeichnis “.ssh” anlegen
  2. Datei “authorized_keys” mit eurem öffentlichen Schlüssel erstellen
  3. Zugriffsrechte für das Verzeichnis und die Datei richtig vergeben
  4. sshd_config“-Datei für die SSH-Key-Anmeldung anpassen
  5. SSH-Dienst neu starten

ACHTUNG!
Die Rechte für das ssh-Verzeichnis und für die “authorized_keys“-Datei sind zwingend anzupassen!
Solltet ihr das nicht machen, ist eine SSH-Anmeldung über diese Anmeldemethode nicht möglich.

ssh-Verzeichnis anlegen

Im ersten Schritt ist das “.ssh“-Verzeichnis im Home-Verzeichnis eures Benutzers anzulegen.

Prüft im ersten Schritt nochmal, ob ihr euch im richtigen Verzeichnis befindet

pwd

Anschließend legt ihr das Verzeichnis an

mkdir .ssh

Ihr könnt das gleich prüfen, indem ihr den Befehl eingebt.

ls -la

Ihr seht bei dem Befehl auch gleich, dass noch euer Benutzer Eigentümer des Datei ist. Das wird in einem der kommenden Schritte geändert, damit die Anmeldung per SSH auch wirklich funktioniert.

authorized_keys-Datei erstellen

In diesem Schritt habt ihr zwei Möglichkeiten euren vorhandenen Public Key auf das Synology NAS zu bekommen:

  1. Kopieren über die Zwischenablage
  2. Vorhandene Pby-Key-Datei per SCP (= Secure Copy)

Öffentlichen SSH-Schlüssel über die Zwischenablage kopieren

Der Wohl einfachste Weg ist das Kopieren eures öffentlichen Schlüssels über die Zwischenablage eures Clients. Dazu kopiert ihr die Passphrase ganz einfach und fügt sie nach dem ausführen den folgenden Befehls einfach in die Datei ein: (Also ein klassiches Strg+C und Strg+V)

vim touch ~/.ssh/ahtorized_keys

Ihr speichert die Datei ab, indem ihr “Esc” drückt und dann die folgenden Zeichen eingebt “:wq“.

Öffentlichen SSH-Schlüssel mit SCP kopieren

Habt ihr euren privaten Schlüssel bereits in einer Datei auf einem anderen Client/Server liegen, könnt ihr die ganz einfach per SCP auf das Synology NAS kopieren. Legt eine Kopie der Datei an und benennt diese um in “authorized_keys“, falls noch nicht geschehen.

Habt ihr ein Linux-System, kann das automatisch SCP und ihr braucht keine weitere Software.
Verwendet ihr Windows könnt ihr WinSCP nutzen. ( ➡ https://winscp.net/eng/download.php)

Auf der Konsole lt. der Befehl zum Übertragen:

scp authorized_keys benutzername@ip-adresse-des-synology-nas:/var/services/homes/benutzername

Ist euer NAS über das Internet erreichbar und ihr habt den SSH-Port geändert, müsst ihr den Befehl anpassen. Ersetzt das xxx hinter dem -P durch euren festgelegten Port zum Übertragen der Datei

scp -P 55555 authorized_keys benutzername@ip-adresse-des-synology-nas:/var/services/homes/benutzername

Bestätigt die Meldung, dass ihr dem Server vertraut und gebt euer Passwort ein. Anschließend wird die “authorized_keys“-Datei in euer Home-Verzeichnis auf dem Synology NAS übertragen.

Ihr kopiert die Datei dort mit dem Befehl an den richtigen Ort im Verzeichnis “.ssh“:

cp authorized_keys .ssh/

Nun befindet sich die Datei am richtigen Ort und ihr könnt die Datei in eurem Home-Verzeichnis löschen:

cd /var/services/homes/benutzername
rm authorized_keys

Ihr seht die Datei auch über die “File Station” nach einer Anmeldung an der Weboberfläche.

File Station - authorized_keys
File Station – authorized_keys

Zugriffsrechte festlegen

Die Anpassung der Rechte für die Datei ist besonders wichtig.

Ihr müsst das unbedingt vor einem Neustart des SSH-Dienstes machen, sonst könnt ihr euch per SSH nicht mehr am NAS anmelden.

chmod 0711 ~
chmod 0711 ~/.ssh
chmod 0600 ~/.ssh/authorized_keys

Mit den drei Befehlen sind die Rechte für die Datei richtig gesetzt. Das sollte dann für “authorized_keys” so aussehen:

-rw------- 1 benutzername users 1868 Nov 28 19:49 authorized_keys

sshd_config anpassen

Im vorletzen Schritt ist die Datei “/etc/ssh/sshd_config” zu editieren.

Dort findet ihr die folgenden Einträge die ihr editieren müsst. Entfernt am Anfang der jeweiligen Zeile das “#“.

sudo vim /etc/ssh/sshd_config
  1. PubkeyAuthentication yes
  2. AuthorizedKeysFile .ssh/authorized_keys
  3. PasswordAuthentication no
  4. ChallengeResponseAuthentication no

ACHTUNG!!!
Setzt ihr den Eintrag “PasswordAuthentication” auf “no“, ist ab diesem Zeitpunkt für jeden Benutzer nur noch eine Anmeldung mit einem in der “authorized_keys“-Datei hinterlegten Schlüsselpaar möglich. Eine Anmeldung mit einem Passwort ist dann nicht mehr möglich.

Bevor ihr “PasswordAuthentication” auf “no” setzt, versucht erst einmal, ob ihr euch mit SSH-Schlüssel oder YubiKey an dem Synology anmelden könnt.

SSH-Dienst neustarten

Das wars auch schon fast. Nun den SSH-Dienst neustarten und schon ist die Anmeldung mit dem Schlüsselpaar oder dem YubiKey möglich.

ACHTUNG!!!
Wenn ihr den SSH-Dienst neu startet, werden alle bestehenden Verbindungen unterbrochen.

sudo synoservicectl --restart sshd

Solltet ihr euch nachdem Neustart des Dienstes nicht mehr anmelden können, dann startet die gesamte Synology NAS neu. Bei mir hat das auch geholfen. Die Konfiguration wurde dann erst “sauber” eingelesen.

Benutzer aus Administratoren-Gruppe entfernen

Die SSH-Anmeldung an eurem Synology NAS sollte nun ohne weitere Probleme funktionieren. Euren Benutzer könnt ihr deshalb wieder aus der Administratorengruppe wieder entfernen.

SSH-Anmeldung am Synology NAS über das Internet

Möchtet ihr die SSH-Anmeldung auch über das Internet mit eurer eigenen Domain ermöglich, dann findet ihr hier die Anleitung:
Synology DS218+ – via FRITZ!Box über das Internet erreichen

Fallback

Könnt ihr euch trotz Neustart nicht mehr SSH am System anmelden und es wird euch die Fehlermeldung angezeigt, dann versucht eine Verbindung über Telent.

No supported authentication methods available.

Aktiviert dazu den Telnet-Dienst in der Systemsteuerung. Danach könnt ihr euch mit dem PuTTY via Telnet auf die Synology aufschalten. Führt die Änderungen an der “sshd_config” durch und startet die NAS neu.

Versucht dann erneut die Anmeldung per SSH. Wenn die funktioniert, dann deaktiviert ihr den Telnet-Zugang wieder.



!!!ACHTUNG!!!
Wenn ihr in der nachfolgenden Konfiguration einen Fehler macht, könnt ihr euch von der Synology aussperren. Eine Anmeldung per SSH ist dann nicht mehr möglich, funktioniert aber nach wie vor über den Webbrowser.

Die hier vorgestellte Konfiguration hat bei mir so wie beschrieben funktioniert.

Ich übernehme jedoch keine Garantie für die Resultate; Ausprobieren und Implementieren der beschriebenen Vorgehensweise erfolgt ausschließlich auf eigene Verantwortung und Gefahr.


(**) Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.