Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove a paragraph from README/Alternatives/macOS section #47

Closed
bdd opened this issue Aug 7, 2020 · 1 comment
Closed

Remove a paragraph from README/Alternatives/macOS section #47

bdd opened this issue Aug 7, 2020 · 1 comment

Comments

@bdd
Copy link

bdd commented Aug 7, 2020

In README's "Alternatives" section, regarding to the use of ssh-agent, the paragraph about macOS assumes the need for a third-party PKCS#11 library and reasonably talks about its UX issues regarding library load path allow list.

The ssh-agent that ships with macOS (which is pretty cool, as it starts on demand and is preconfigured in the environment) also has restrictions on where the .so modules can be loaded from. It can see through symlinks, so a Homebrew-installed /usr/local/lib/libykcs11.dylib won't work, while a hard copy at /usr/local/lib/libykcs11.copy.dylib will.

On the other hand, macOS already ships with a PKCS#11 support library at /usr/lib/ssh-keychain.dylib that can be used by OpenSSH. As of macOS Catalina it only supports RSA keys but otherwise is functional.

% nm -j /usr/lib/ssh-keychain.dylib | egrep '^_C_\w+'
_C_CloseSession
_C_Finalize
_C_FindObjects
_C_FindObjectsFinal
_C_FindObjectsInit
_C_GetAttributeValue
_C_GetFunctionList
_C_GetInfo
_C_GetSlotList
_C_GetTokenInfo
_C_Initialize
_C_Login
_C_OpenSession
_C_Sign
_C_SignInit

Do you think this paragraph is still pertinent? I can put a PR mentioning /usr/lib/ssh-keychain.dylib and just remove this paragraph to keep things simple.

@FiloSottile
Copy link
Owner

Oh interesting! I had never heard of it. I'll add a line, people might be interested to find out about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants