ssh-key und macOS

Um sich mit einem ssh-Schlüssel an einem entfernten Server anzumelden, muss ein Schlüsselpaar auf dem Quellrechner erstellt werden. Der öffentliche Schlüssel wird dann auf den entfernten Server übertragen. Das ist praktisch die Vorbereitung, um später die Passwortanmeldung auf dem Server für den Account root abzustellen.

Der Schlüssel ist in dieser Beschreibung mit id_rsa_deinkey benannt. Den könnt ihr natürlich an eure Wünsche anpassen.

Schlüsselpaar erstellen:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_deinkey

Den öffentlichen Schlüssel auf den entfernten Server kopieren:
ssh-copy-id -i id_rsa_deinkey deinaccount@dein.server

Berechtigungen auf dem entfernten Server setzen:
cd .ssh
chmod 600 authorized_keys

Agent für automatische Nutzung des Schlüssels auf dem Quellgerät einstellen:
eval ssh-agent

Damit der ssh Schlüssel mit dem Agent benutzt werden kann, muss der ssh-add Befehl ab OS-Version 12 mit –apple-use-keychain ausgeführt werden. Das Kürzel -K wurde abgekündigt.
Nach der Schlüsselerstellung muss der Befehl dann so aussehen:
ssh-add --apple-use-keychain ~/.ssh/id_rsa_deinkey

Mit einer config-Datei im Verzeichnis .ssh kann man die Zuordnung der Schlüssel zu dem Agent über Neustarts hinweg festlegen.

Die Datei erstellen, wenn sie noch nicht vorhanden ist, oder öffnen:
nano ~/.ssh/config

Folgende Einträge hinzufügen:
Host *
UseKeyChain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa_deinkey

Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa

Host namefürdeineverbindung
HostName dein.server.irgendwo
User deinAnmeldename
IdentityFile ~/.ssh/id_rsa_deinkey

Der Vorteil dieser config-Datei ist, dass im Terminal die Verbindung durch den einfachen Befehl ssh namefürdeineverbindung aufgebaut werden kann. Der Name für die Verbindung kann für einen NextCloud Server zum Beispiel einfach nc sein, oder next. Das sähe dann so aus: ssh next

Sollte nach einem Neustart erneut das Passwort bei der ssh Anmeldung erfragt werden, kann es sein, dass man in den Systemeinstellungen dem ssh-wrapper einmal Festplattenvollzugriff geben muss. Dann den ssh-add Befehl nochmals ausführen, neu starten und den Vollzugriff wieder entziehen.
Bei mir hat es geklappt, nachdem ich die config Datei in die obige Reihenfolge umgestellt hatte. Allerdings habe ich auch gleichzeitig den Vollzugriff zugelassen. Deswegen kann ich jetzt nicht genau sagen, was ursächlich die Lösung war. Müsst ihr halt mal ausprobieren, wie es für euch funktioniert.

Diese Beschreibung ist mit viel Unterstützung meiner Zeitleiste bei Mastodon entstanden. Vor allem @newdefined@troet.cafe hat mich nachhaltig unterstützt und wichtige Hinweise und Tipps gegeben. Danke dafür.

Schreibe einen Kommentar