脚步
- 在我的 Windows 桌面上打开 PuTTY。
- 通过 SSH 进入我的 MacBook Pro。
- cd 到 github 克隆目录
$ git push
预期的
Everything up-to-date
实际的
Enter passphrase for key '/Users/whit537/.ssh/github':
笔记
- github 密钥在 Keychain Access 中列出。
- 我可以在 Keychain Access 中显示其密码。
- 我可以在 PuTTY 提示符下成功使用此密码。
- 我在 MacBook 上的终端窗口中获得了预期的结果。
uname -a
:达尔文 chad.whitacre 10.7.0 达尔文内核版本 10.7.0:2011 年 1 月 29 日星期六 15:17:16 PST;root:xnu-1504.9.37~1/RELEASE_I386 i386
更新
2011-04-12:我security
通过有关的侧边栏(发帖时没有在可能的答案列表中注意到它)。我尝试运行,security unlock-keychain
但得到的结果相同。似乎应该有某种方法可以做到这一点。实际上,有两个密钥有问题,它们是长密码,而不是短密码,我白天经常需要它们。所以我有动力去彻底解决这个问题。
2011-04-13:这听起来很有希望。我/tmp/launch-*****/Listeners
在 MacBook 上看到了该文件。下次我在 PC 上时,我会尝试SSH_AUTH_SOCK
在我的 PuTTY 会话中进行设置。如果成功,我会查看一个.profile
钩子以自动发现当前启动会话。
答案1
您应该能够像这样在终端中解锁您的钥匙串:
security unlock-keychain -p <YourPassword> ~/Library/Keychains/login.keychain
如果您不想提示输入密码,您可以将密码存储在文件中,然后执行以下命令:
security unlock-keychain -p `cat ~/.file_with_your_password` ~/Library/Keychains/login.keychain
请注意,将你的钥匙串密码存储在文件中会有一些与安全相关的缺点,所以你必须自己决定这是否适合你。
我希望这有帮助
答案2
您的钥匙串与 OS X 的图形登录绑定。当您本地登录计算机时,它会打开您的钥匙串。终端及其内部运行的 bash 知道您的钥匙串。
当您通过 PuTTY 远程登录时,您的钥匙串不会打开,PuTTY 和 bash 也不知道这一点 - 即使您也在本地登录。它们之间的链接不存在。
很抱歉,但当您通过 PuTTY 登录时,您必须输入密码。
除非有人了解 OS X 钥匙串系统的内部结构,并能想出某种方法在 PuTTY 连接会话中手动放置该链接,但在我看来,这可能比偶尔输入密码要麻烦得多。