Conectamos a um MAC com SSH e executamos um script que contém a linha
security unlock-keychain -p XXX
Mas como atualizamos a máquina para “macOS Sierra” recebemos um erro
security: SecKeychainUnlock <NULL>: The user name or passphrase you entered is not correct.
Alguma ideia?
Responder1
Quando você se conecta via SSH, parece que security
não sabe sobre as chaves do usuário logado: se você emitir um security list-keychains
comando, verá apenas as chaves do sistema, em vez das chaves do usuário.
O que você precisa fazer é especificar o arquivo das chaves que deseja desbloquear:
security unlock-keychain -p XXX "keychain_path_here"
Onde keychain_path_here
está algo parecido /Users/username/Library/Keychains/login.keychain-db
.
Responder2
Se você não quiser especificar uma chave para desbloquear cada vez que fizer ssh em uma máquina, você pode criar uma chave ssh e copiá-la para a máquina de destino:
ssh-keygen
ssh-copy-id [email protected]
Depois de copiar seu ID ssh para o host, você poderá desbloquear as chaves de login padrão para o usuário com o qual está fazendo login. Se você tiver várias contas de usuário com as quais precisa fazer login, poderá usar ssh-copy-id para cada um dos usuários.
(ssh-copy-id não está incluído no macOS por padrão. Você pode instalá-lo com homebrew)