VServer: Authentifizierung mit SSH-Keys

Aus Benhosting
Version vom 28. März 2016, 19:53 Uhr von Xama (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Sie können Ihren Server zusätzlich gegen Angreifer schützen, indem Sie sich mit SSH-Keys am Server via SSH authentifizieren. Bisher haben Sie hierfür stets ein Passwort eingeben müssen, um einen Zugang zu Ihrem Server via SSH zu erhalten. Dies funktioniert auf jedem PC und einem Angreifer, der ihr Passwort besitzt, ist Ihr Server hilflos ausgeliefert. Dagegen können Sie eine Maßnahme ergreifen: Mithilfe von SSH-Keys besitzen Sie zusätzlich einen "privaten Schlüssel" als Datei. Nur auf Rechnern, auf welchen Sie die exakt genaue Datei haben, können sich mit dem Server authentifizieren. Ein Angreifer würde somit scheitern, da ihm die Datei fehlen würde, die er auch nicht nachstellen kann.


Wir zeigen Ihnen mit dieser Anleitung, wie Sie einen privaten Schlüssel erstellen und diesem den Server bekannt machen, sodass dieser Sie eindeutig identifizieren kann. Im Normalfall reicht ein privater Schlüssel vollkommen aus - ein zusätzliches Passwort ist hierbei optional.


Erstellen des privaten und öffentlichen Schlüssel

Für die Authentifizierung benötigen Sie einen privaten und öffentlichen Schlüssel. Der private Schlüssel befindet sich hierzu auf Ihrem PC und darf nicht an Dritte weitergegeben oder an Orten abgelegt werden, die von Dritten betrieben werden. Der öffentliche Schlüssel gehört hierbei auf dem Server. Dazu erläutern wir Ihnen später mehr.

Windows

Sie benötigen hierzu das Tool PuTTYGen. Sie können dieses unter [[1]] herunterladen. Folgendes Fenster sollte Sie nun begrüssen:

Ssh keys ichi.png

Unter "Parameters" können Sie erweiterte Einstellungen vornehmen. Diese reichen im Normalfall völlig aus und sollten so belassen werden. Klicken Sie danach auf "Generate" und bewegen Sie Ihren Mauszeiger bei Anweisung in zufälligen Richtungen hin und her.

Sobald die Generierung der Schlüssel erfolgt ist, haben Sie die Möglichkeit ein Passwort zu hinterlegen. Diese Entscheidung ist Ihnen überlassen.

Ssh keys ni.png

Wichtig: Halten Sie das Fenster im Verlauf des Artikels geöffnet. Sie werden dieses später nochmals brauchen!

Klicken Sie nun auf "Save public key" und legen Sie dieses an einem sicheren Ort auf, welchen Sie später wieder finden können. Der Dateiname und die Dateiendung spielen hierbei keine Rolle. Benennen Sie diese Datei am Besten in einem aussagekräftigen Namen. Das Gleiche machen Sie auch mit "Save private key". Diese Datei (bzw. Schlüssel) ist nur für Ihren Computer bestimmt. Nur anhand dieser kann Sie der Server identifizieren. Daher ist diese Datei von großer Bedeutung. Bewahren Sie diese Datei an einem sicheren Ort auf, den Sie in Zukunft sicher wieder auffinden können. Geben Sie daher der Datei einen aussagekräftigen Namen.

Ssh keys san.PNG


Serverkonfiguration

Dem Server muss jetzt Ihr öffentlicher Schlüssel vertraut gemacht werden. Verbinden Sie sich hierfür via SSH und führen Sie folgenden Befehl aus:

mkdir -p ~/.ssh && nano ~/.ssh/authorized_keys

Dieser fügt Ihnen eine neue Datei im Ordner "~/.ssh" hinzu, in welcher öffentliche Schlüssel gespeichert werden können. Sie sollten nun einen Editor sehen, in welchem Sie den "Public key" von Ihrem "PuTTYGen"-Fenster einfügen können. Sollten Sie das Fenster bereits geschlossen haben, so müssen Sie den ersten Abschnitt nochmals durcharbeiten.

Kopieren Sie hierfür mit Ihrer Maus den Inhalt aus dem "Public key"-Feld und fügen Sie diesen in das Editorfenster Ihres Servers ein.

Ssh keys shi.PNG

Speichern Sie nun die Datei mit CTRL + X und bestätigen Sie mit "Y".

Sie können das PuTTYGen-Fenster wieder schliessen. Nun ist noch eine Änderung in der SSH-Konfiguration notwendig.

Öffnen Sie nun die Konfiguration mit folgendem Befehl:

sudo nano /etc/ssh/sshd_config

und suchen Sie folgenden Eintrag: PasswordAuthentication yes.

Ersetzen Sie hierbei "yes" durch ein "no", um nur die Authentifizierung mit den SSH-Keys zu erlauben. Sollte die Zeile noch ein "#" am Anfang beinhalten, sollten Sie dieses entfernen.

Speichern Sie die Datei und starten Sie den SSH-Dienst neu:

sudo service ssh restart


Clientkonfiguration

Windows

Öffnen Sie nun PuTTY und geben Sie die Verbindungsdaten wie gewohnt ein. Sollten Sie bereits einen Eintrag unter "Saved Sessions" haben, so wählen Sie dieses aus. Der Verbindung muss nun neu Ihr privater Schlüssel bekannt gemacht werden. Klicken Sie hierzu links auf "Connection" > "SSH" > "Auth" und wählen Sie den privaten Schlüssel aus, den Sie im ersten Abschnitt gespeichert haben.

Ssh keys go.PNG

Sie können zudem noch den Standardbenutzer wählen, mit dem sich PuTTY direkt anmelden soll. Klicken Sie hierfür auf "Connection" > "Data". Tragen Sie im markierten Feld Ihren Benutzernamen auf dem Server, für den Sie die Schlüssel erstellt haben, ein.

Ssh keys roku.PNG

Speichern Sie zuletzt die Verbindung unter "Session", so sparen Sie sich die Dateiauswahl + Benutzerwahl bei jeder Verbindung.

Klicken Sie nun auf "Open" und Sie sollten nun direkt auf den Server gelangen. Sollten Sie Ihren Schlüssel mit einem Passwort geschützt haben, so geben Sie diesen ein.