Generieren eines SSH-Schlüssels auf macOS

Melden
  1. Einführung
  2. Vorbereitung und Voraussetzungen
  3. Schritte zum Erzeugen des SSH-Schlüssels
  4. Verwendung des generierten Schlüssels
  5. Zusätzliche Tipps und Hinweise
  6. Fazit

Einführung

SSH (Secure Shell) ist ein Netzwerkprotokoll, das sicheren Zugriff auf entfernte Rechner ermöglicht. Um eine sichere Verbindung herzustellen, nutzt man üblicherweise ein Schlüsselpaar aus einem privaten und einem öffentlichen Schlüssel. Auf macOS-Systemen lässt sich ein solches Schlüsselpaar einfach mit eingebauten Werkzeugen erzeugen.

Vorbereitung und Voraussetzungen

macOS bringt standardmäßig das Kommandozeilenprogramm ssh-keygen mit, mit dem man SSH-Schlüssel generieren kann. Für diesen Vorgang benötigen Sie Zugriff auf das Terminal. Am besten verwenden Sie den Benutzeraccount, mit dem Sie auch die SSH-Verbindung aufbauen möchten. Zusätzlich empfiehlt es sich, sicherzustellen, dass Sie keine bestehenden Schlüssel überschreiben – gegebenenfalls sollten Sie Ihre vorhandenen SSH-Schlüssel sichern.

Schritte zum Erzeugen des SSH-Schlüssels

Öffnen Sie das Terminal, welches Sie entweder über Spotlight (Cmd + Leertaste und "Terminal" eingeben) oder im Ordner /Programme/Dienstprogramme/ finden. Dort geben Sie folgenden Befehl ein:

ssh-keygen -t ed25519 -C "IhreEmail@example.com"

Dieser Befehl startet die Erstellung eines neuen SSH-Schlüssels mit dem Algorithmus ed25519, welcher als sicherer und moderner gilt als der weitverbreitete RSA-Algorithmus. Die Option -C wird genutzt, um einen Kommentar, meist die eigene E-Mail-Adresse, in den Schlüssel einzufügen. So kann der Schlüssel später leichter zugeordnet werden.

Nach der Eingabe des Befehls fragt das Programm nach dem Speicherort des Schlüssels. Standardmäßig wird der Schlüssel im Verzeichnis ~/.ssh/ unter dem Namen id_ed25519 (privater Schlüssel) und id_ed25519.pub (öffentlicher Schlüssel) gespeichert. Drücken Sie einfach Enter, wenn Sie den Standardpfad verwenden möchten.

Im nächsten Schritt können Sie eine Passphrase eingeben. Diese schützt den privaten Schlüssel zusätzlich. Es ist empfehlenswert, eine sichere Passphrase zu wählen, sie ist jedoch optional. Wenn Sie keine Passphrase wünschen, drücken Sie einfach Enter.

Nach Abschluss erhalten Sie eine Bestätigung inklusive Speicherort des Schlüssels und einem sogenannten "Fingerprint", der als eindeutige Identifikation des Schlüssels dient.

Verwendung des generierten Schlüssels

Um den öffentlichen Schlüssel auf einen entfernten Server zu übertragen, damit die Authentifizierung mittels Schlüssel klappt, kann man den Inhalt der Datei id_ed25519.pub zum Beispiel mit folgendem Befehl kopieren:

pbcopy < ~/.ssh/id_ed25519.pub

Dieser Befehl kopiert den öffentlichen Schlüssel in die Zwischenablage. Anschließend können Sie diesen Schlüssel auf dem Server in die Datei ~/.ssh/authorized_keys einfügen. Alternativ können Sie das praktische Hilfstool ssh-copy-id verwenden, welches allerdings auf macOS erst manuell installiert werden muss oder durch Homebrew nachgerüstet werden kann.

Zusätzliche Tipps und Hinweise

Wenn Sie mehrere SSH-Schlüssel verwenden, empfiehlt es sich, eine Konfigurationsdatei ~/.ssh/config zu erstellen oder zu bearbeiten. Dort können Sie festlegen, welcher Schlüssel für welchen Host benutzt wird. Das schafft Übersicht und verhindert Zugriffsprobleme.

Zusätzlich sollten Sie den privaten Schlüssel niemals weitergeben und ihn gut sichern, beispielsweise durch geeignete Dateiberechtigungen (Standard ist chmod 600). Kommandozeilenbefehle wie ls -l ~/.ssh/id_ed25519 zeigen Ihnen die Berechtigungen an.

Fazit

Das Erzeugen eines SSH-Schlüssels auf macOS ist mittels ssh-keygen unkompliziert und schnell erledigt. Durch die Verwendung des modernen Algorithmus ed25519 profitieren Sie von hohem Sicherheitsniveau. Eine Passphrase und eine sorgfältige Verwaltung der Schlüsseldateien erhöhen die Sicherheit zusätzlich. Der Schlüssel ermöglicht eine komfortable und sichere Anmeldung bei entfernten Maschinen ohne die Notwendigkeit, ständig Passwörter einzugeben.

0
1 Kommentar