DE | EN

Einführung in SSH

Dieses Tutorial führt Sie in die Grundlagen von SSH ein und erklärt, wie Sie eine sichere Verbindung zu Servern aufbauen können.

Gruppenzuweisung

Zu Beginn des Semesters teilen Sie Herrn Franke oder Herrn Müller Ihren festen TandempartnerIn für diese LV via Slack mit und Sie erhalten einen festen Tandemnamen und ein entsprechende Subdomain zugewiesen (z.B. isa1.edumake.de).

Was ist SSH?

SSH, oder Secure Shell, ist ein Netzwerkprotokoll, das für sichere Netzwerkdienste über ein unsicheres Netzwerk verwendet wird.

Aufgabe 1: Risiken und Gefahren bei der Verwendung von SSH mit nur einem Passwort

SSH erlaubt in der Standardkonfiguration die Authentifizierung mittels Benutzername und Passwort. Diese einfache und intuitive Methode birgt jedoch signifikante Sicherheitsrisiken. Recherchieren Sie die spezifischen Nachteile und Gefahren der Passwortauthentifizierung im Vergleich zur schlüsselbasierten Authentifizierung. Erörtern Sie, die Funktionsweise einer Schlüsselauthentifizierung bei SSH und warum ein Umstieg auf Schlüsselauthentifizierung empfohlen wird.

Erklärung von SSH

Quelle: Hostinger

🔐 Erstellung eines SSH-Schlüsselpaares

macOS & Linux

SSH verwendet Schlüsselpaare (einen öffentlichen und einen privaten Schlüssel) für eine sichere Authentifizierung ohne Passwort. Unter macOS und Linux kann ein SSH-Schlüsselpaar direkt im Terminal erstellt werden:

Shell
ssh-keygen -t rsa -b 2048

-t rsa steht für das RSA-Verschlüsselungsverfahren, -b 2048 gibt die Schlüssellänge in Bits an. Der Schlüssel wird standardmäßig im Verzeichnis ~/.ssh/ gespeichert. Dort befinden sich anschließend:

Sie können den öffentlichen Schlüssel z. B. mit folgendem Befehl anzeigen und kopieren:

Shell
cat ~/.ssh/id_rsa.pub

Diesen Schlüsseltext können Sie dann per Slack an Herrn Franke senden.

Windows (PowerShell)

Auch unter Windows können Sie über die PowerShell ein SSH-Schlüsselpaar erstellen – vorausgesetzt, OpenSSH ist installiert (ab Windows 10 i. d. R. vorinstalliert):

PowerShell
ssh-keygen -t rsa -b 2048

Auch hier werden die Schlüssel im Benutzerverzeichnis C:\Users\IhrBenutzername\.ssh\ gespeichert:

Öffentlichen Schlüssel anzeigen und kopieren:

PowerShell
cat $env:USERPROFILE\.ssh\id_rsa.pub

Kopieren Sie den gesamten Text und senden Sie ihn an Herrn Franke via Slack.

Alternative für Windows: PuTTY

Alternativ zur PowerShell können Sie auch das Tool PuTTYgen verwenden:

  1. Laden Sie PuTTYgen von der offiziellen PuTTY-Website herunter.
  2. Starten Sie PuTTYgen und klicken Sie auf Generate. Bewegen Sie die Maus während der Erzeugung zufällig über das Fenster.
  3. Speichern Sie den privaten Schlüssel über Save private key an einem sicheren Ort.
  4. Den öffentlichen Schlüssel können Sie im oberen Feld kopieren oder über Save public key speichern.
  5. Senden Sie den öffentlichen Schlüssel (nicht die Datei, sondern den Text) an Herrn Franke.

⚠️ Achten Sie stets darauf, dass der private key niemals öffentlich gemacht oder versendet wird!

Aufgabe 3: Übermitteln Sie Ihren öffentlichen Schlüssel

Senden Sie Ihren öffentlichen SSH-Schlüssel zusammen mit Ihrem Gruppennamen via Slack oder Mail an Herrn Franke, um den Schlüssel auf dem Server zu hinterlegen.

Nächste Schritte

Nachdem Sie Ihren öffentlichen Schlüssel übermittelt haben, können Sie eine sichere Verbindung zu Ihrem zugewiesenen Server herstellen.

nächstes Übungsblatt