SSH Schlüssel für sichere Serververbindung in macOS nutzen
Um einen SSL Schlüssel zu erstellen, benötigt man zuerst folgende Programme ssh-keygen, cat and nano auf dem lokalen Computer. Diese sind in neueren macOS Versionen bereits vorhanden.
Erstellen Sie Ihren lokalen SSH-Schlüssel.
Die am weitesten verbreiteten Algorithmen sind RSA, DSA, ECDSA und EdDSA, wobei RSA und EdDSA die beste Sicherheit und Leistung bieten, wir nutzen in diesem Fall Ed25519.
Es wird empfohlen, am Ende einen Kommentar hinzuzufügen, um den SSH-Schlüssel in Zukunft identifizieren zu können. Einige Informationen über den Computer selbst könnten nützlich sein. Zum Beispiel: SSH-Schlüssel - MacbookPro 13 Zoll
ssh-keygen -t ed25519 -C "Kommentar"
Dann werden Sie nach dem Dateinamen/Speicherort des SSH-Schlüssels gefragt. Sie können einfach die Eingabetaste drücken, um den Standardnamen (ed25519) und den Speicherort (~/.ssh/) zu übernehmen. Wenn Sie die Datei so benennen möchten, dass Sie zwischen mehreren Schlüsseln für verschiedene Server unterscheiden können, können Sie ~/.ssh/server01 eingeben.
Hinzufügen des öffentlichen SSH-Schlüssels zu Ihrem entfernten Server (hier Hetzner)
In diesem Schritt ist es wichtig klarzustellen, dass die SSH-Schlüssel nicht zwischen Projekten geteilt werden. Das bedeutet, dass Sie diesen Schritt mit demselben Schlüssel oder mit verschiedenen Schlüsseln für jeden Account wiederholen müssen.
Wählen Sie ein Projekt oder Account aus oder erstellen Sie ein neues Im Menü auf der linken Seite Ihres Projekts wählen Sie den Menüpunkt Sicherheit aus Klicken Sie auf die Schaltfläche SSH-Schlüssel hinzufügen.
Auf Ihrem lokalen Rechner führen Sie den Befehlcat ~/.ssh/id_ed25519.pub
aus, um den Inhalt der Datei zu sehen oder sie im Editor zu öffnen.
Kopieren Sie den Inhalt der Datei id_ed25519.pub von Ihrem lokalen Rechner in die Zwischenablage, indem Sie die Ausgabe auswählen und ctrl+shift+c verwenden.
Fügen Sie den SSH-Schlüssel in den markierten Bereich Ihres Hetzner-Accounts ein. Fügen Sie einen Namen für den SSH-Schlüssel hinzu, um ihn in der Hetzner Cloud Console zu identifizieren, oder lassen Sie den automatisch generierten Namen basierend auf dem Schlüsselkommentar stehen.
Dieser spezifische SSH-Schlüssel ist bereit, jedes Mal verwendet zu werden, wenn Sie eine neue Instanz für dieses spezifische Projekt erstellen.Hinzufügen zur Keychain um den SSH Schlüssel im Terminal zu nutzen.
Um den Schlüssel im Terinal oder FTP-Client wie z.B. Transmit zu nutzen muss dieser nochmit folgendem Befehl hinzugefügt werden:ssh-add .ssh/your_key_xxx
Transmit nutzt diese Schlüssel automatisch. Um die SSH Schlüssel im Terminal zu nutzen, müssen die Accounts noch in die SSH Konfigurationsdatei eingetragen werden:
sudo nano .ssh/config (Passwort eingeben)Der Eintrag lautet wie folgt:
Host account name
HostName servername.tld
User account name
Port 22
UseKeychain yes
AddKeysToAgent yesWenn alle Einträge korrekt sind, kann man nun eine SSH Verbindung ohne Eingabe eines Passworts herstellen.
Um die Verbindung zusätzlich abzusichern sollten Sie Ihre eigene Passphrase festlegen, um den Server sicherer zu machen. Es gibt viele Anleitungen auf YouTube und im gesamten Internet, in denen das Hinzufügen einer Passphrase einfach weggelassen oder nicht empfohlen wird.
Es wird dringend empfohlen, eine Passphrase zu setzen, um eine sichere Instanz einzurichten. Diese Passphrase schützt den privaten Schlüssel, so dass niemand auf den Server zugreifen kann, selbst wenn er Zugang zu Ihrem Computer hat. Sie können Ihren SSH-Client so konfigurieren, dass er mit Keypass kommuniziert, damit Sie nicht jedes Mal das Passwort eingeben müssen. Sie sollten jedoch bedenken, dass Keypass in der Regel ständig aktiv ist, so dass der direkte Zugriff auf Ihre angemeldete Sitzung in diesem Fall den unerlaubten Zugriff auf den Server nicht verhindern würde.
Es schützt jedoch jeden davor, die Datei zu kopieren und auf einem anderen Computer zu verwenden. Standardmäßig erstellt dieser Befehl einen öffentlichen und einen privaten Schlüssel mit den Namen id_ed25519.pub bzw. id_ed25519, die im Pfad ~/.ssh/ gespeichert werden.
Die Datei id_ed25519.pub ist der öffentliche Schlüssel, den der Server zur Authentifizierung des Benutzers benötigt, und die Datei id_ed25519 ist Ihr privater Schlüssel, auf den außer Ihnen niemand Zugriff haben sollte, insbesondere wenn Sie den Schritt der Einrichtung einer Passphrase überspringen.