After generating your private key with passphrase:
ssh-keygen -t ed25519 -C "duncan@example.com"
Add it to the ssh agent, storing the passphrase in the keychain:
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
And finally configure your ~/.ssh/config
:
Host *
IgnoreUnknown UseKeychain
UseKeychain yes