Um von einem Mac aus einen Linux Server zu verwalten, wird üblicherweise SSH eingesetzt. Die Anmeldung via Passwort kann bei häufiger Benutzung durchaus als nervig und unhandlich empfunden werden. Um dem zu begegnen, kann eine Anmeldung mittels public key authentication eingesetzt werden.

In diesem Artikel soll gezeigt werden, wie diese Form der Anmeldung auf Seiten des Mac eingerichtet und über MacOS Updates hinweg unkompliziert gehalten werden kann.

Voraussetzung ist dabei, dass der SSH Daemon des Servers für public key authentication konfiguriert wurde. Zumindest bei Debian und Ubuntu ist dies direkt ab Installation vorkonfiguriert.

Schlüsselpaar erstellen

Sollte für den MacOS Benutzer noch kein RSA Schlüsselpaar existieren, muss dieses zunächst erstellt werden. Dies ist der Fall, wenn im Verzeichnis ~/.ssh/ nicht die Dateien id_rsa und id_rsa.pub vorhanden sind.

Die Erzeugung eines Schlüsselpaares wird mit folgendem Befehl gestartet:

$ ssh-keygen

Im folgenden Dialog können Informationen zum Besitzer des Schlüsselpaares angegeben werden. Die Schlüssel können auch mit einem Passwort gesichert werden. Ob man dabei Komfort oder Sicherheit bevorzugt, muss jeder selbst entscheiden.

Schlüssel auf Server übertragen

Um eine Anmeldung beim Server durchführen zu können, muss der öffentliche Schlüssel des Paars auf den Server übertragen werden. Dies kann mit folgendem Befehl durchgeführt werden. Dabei sind user und host durch den Benutzernamen und die URL des Servers zu ersetzen.

$ ssh-copy-id -i ~/.ssh/id\_rsa.pub user@host

Nach erfolgreicher Übertragung des Schlüssels kann eine Einwahl via SSH ohne Angabe des Benutzerkennworts erfolgen. MacOS wird dabei allerdings nach dem Kennwort des lokalen Benutzers fragen.

Schlüssel in die MacOS keychain eintragen

Um die Kennwortabfrage beim Verbinden zu “verhindern”, kann das RSA Schlüsselpaar zur MacOS keychain hinzugefügt werden. Darin eingetragene Schlüssel stehen dem Benutzer nach Anmeldung am Mac automatisch zur Verfügung und werden bei Bedarf direkt verwendet.

Folgender Befehl fügt das Schlüsselpaar der keychain hinzu:

$ ssh-add -K ~/.ssh/id\_rsa

Ab macOS 12 ist folgender Befehl zu verwenden:

$ ssh-add --apple-use-keychain ~/.ssh/id\_rsa

Neustarts des Geräts führen dazu, dass die RSA Schlüssel aus der keychain entfernt werden. Daher muss der Befehl nach jedem Start erneut ausgeführt werden.

Es wurde gezeigt, wie der SSH Zugriff von einem Mac zu einem Linux Server deutlich komfortabler gestaltet werden kann. Aus Gründen der Sicherheit sollte dieses Verfahren aber nur für zugriffsbeschränkte Benutzer auf dem Server eingesetzt werden. Eine direkte Anmeldung als root sollte nicht ermöglicht werden. Insbesondere, wenn mittels MacOS keychain sämtliche Passwortabfragen ersetzt wurden.