Wir verbinden uns per SSH mit einem MAC und führen ein Skript aus, das die Zeile enthält
security unlock-keychain -p XXX
Aber seit wir die Maschine auf "macOS Sierra" aktualisiert haben, erhalten wir einen Fehler
security: SecKeychainUnlock <NULL>: The user name or passphrase you entered is not correct.
Irgendwelche Ideen?
Antwort1
Wenn Sie eine Verbindung über SSH herstellen, scheint es, als security
wüsste er nichts über die Schlüsselbunde des angemeldeten Benutzers: Wenn Sie einen security list-keychains
Befehl eingeben, wird Ihnen nur der Systemschlüsselbund und nicht die Schlüsselbunde des Benutzers angezeigt.
Sie müssen lediglich die Schlüsselbunddatei angeben, die Sie entsperren möchten:
security unlock-keychain -p XXX "keychain_path_here"
Wo keychain_path_here
ist so etwas wie /Users/username/Library/Keychains/login.keychain-db
.
Antwort2
Wenn Sie nicht bei jedem SSH-Zugriff auf einen Computer einen Schlüsselbund zum Entsperren angeben möchten, können Sie einen SSH-Schlüssel erstellen und ihn auf den Zielcomputer kopieren:
ssh-keygen
ssh-copy-id [email protected]
Nachdem Sie Ihre SSH-ID auf den Host kopiert haben, können Sie den Standard-Anmeldeschlüsselbund für den Benutzer entsperren, mit dem Sie sich anmelden. Wenn Sie mehrere Benutzerkonten haben, mit denen Sie sich anmelden müssen, können Sie für jeden Benutzer eine SSH-Kopie der ID durchführen.
(ssh-copy-id ist standardmäßig nicht in macOS enthalten. Sie können es mit Homebrew installieren)