OSX Sierra unlock-keychain перестал работать в ssh

OSX Sierra unlock-keychain перестал работать в ssh

Подключаемся к MAC по SSH и запускаем скрипт, содержащий строку

security unlock-keychain -p XXX

Но так как мы обновили машину до "macOS Sierra", мы получаем ошибку

security: SecKeychainUnlock <NULL>: The user name or passphrase you entered is not correct.

Есть идеи?

решение1

При подключении через SSH создается впечатление, что система securityне знает о связках ключей вошедшего в систему пользователя: если вы выполните команду security list-keychains, то увидите только системную связку ключей вместо связок ключей пользователя.

Все, что вам нужно сделать, это указать файл связки ключей, который вы хотите разблокировать:

security unlock-keychain -p XXX "keychain_path_here"

Где keychain_path_hereчто-то вроде /Users/username/Library/Keychains/login.keychain-db.

решение2

Если вы не хотите указывать связку ключей для разблокировки каждый раз при подключении к машине по SSH, вы можете создать ключ SSH и скопировать его на конечную машину:

ssh-keygen
ssh-copy-id [email protected]

После копирования вашего ssh id на хост вы сможете разблокировать цепочку ключей входа по умолчанию для пользователя, с которым вы входите в систему. Если у вас есть несколько учетных записей пользователей, с которыми вы должны входить в систему, вы можете ssh-copy-id для каждого из пользователей.

(ssh-copy-id не входит в macOS по умолчанию. Вы можете установить его с помощью homebrew)

Связанный контент