Add a private key, only if not already known, using the keychain to obtain
a passphrase if required
(defn add-identity-with-keychain
"Add a private key, only if not already known, using the keychain to obtain
a passphrase if required"
([] (add-identity-with-keychain *ssh-agent* (default-identity)))
([private-key-path] (add-identity-with-keychain *ssh-agent* private-key-path))
([agent private-key-path]
(when-not (has-identity? agent private-key-path)
(let [identity (make-identity
agent
(file-path private-key-path)
(str private-key-path ".pub"))]
(if (.isEncrypted identity)
(if-let [passphrase (clj-ssh.keychain/passphrase private-key-path)]
(add-identity agent identity passphrase)
(logging/error "Passphrase required, but none findable."))
(add-identity agent identity))))))
Comments top
No comments for add-identity-with-keychain. Log in to add a comment.