Dieses Tutorial führt Sie in die Grundlagen von SSH ein und erklärt, wie Sie eine sichere Verbindung zu Servern aufbauen können.
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).
SSH, oder Secure Shell, ist ein Netzwerkprotokoll, das für sichere Netzwerkdienste über ein unsicheres Netzwerk verwendet wird.
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.
Quelle: Hostinger
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:
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:
id_rsa: privater Schlüssel (niemals weitergeben!)id_rsa.pub: öffentlicher Schlüssel (darf versendet werden)Sie können den öffentlichen Schlüssel z. B. mit folgendem Befehl anzeigen und kopieren:
cat ~/.ssh/id_rsa.pub
Diesen Schlüsseltext können Sie dann per Slack an Herrn Franke senden.
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):
ssh-keygen -t rsa -b 2048
Auch hier werden die Schlüssel im Benutzerverzeichnis C:\Users\IhrBenutzername\.ssh\ gespeichert:
id_rsa: privater Schlüssel (niemals weitergeben!)id_rsa.pub: öffentlicher SchlüsselÖffentlichen Schlüssel anzeigen und kopieren:
cat $env:USERPROFILE\.ssh\id_rsa.pub
Kopieren Sie den gesamten Text und senden Sie ihn an Herrn Franke via Slack.
Alternativ zur PowerShell können Sie auch das Tool PuTTYgen verwenden:
⚠️ Achten Sie stets darauf, dass der private key niemals öffentlich gemacht oder versendet wird!
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.
Nachdem Sie Ihren öffentlichen Schlüssel übermittelt haben, können Sie eine sichere Verbindung zu Ihrem zugewiesenen Server herstellen.