Подключаемся к 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)