当我SSH进入OS X时,我没有钥匙串。使用终端机时


12

脚步

  1. 在我的Windows桌面上打开PuTTY。
  2. SSH进入我的MacBook Pro。
  3. cd到github克隆
  4. $ git push

预期

Everything up-to-date

实际

Enter passphrase for key '/Users/whit537/.ssh/github':

笔记

  • github密钥在“钥匙串访问”中列出。
  • 我可以在“钥匙串访问”中显示其密码。
  • 我可以在PuTTY中的提示下成功使用此密码短语。
  • 我在MacBook的“终端”窗口中获得了预期的结果。
  • uname -a:Darwin chad.whitacre 10.7.0 Darwin Kernel Version 10.7.0:SST Jan 29 15:17:16 PST 2011; 根目录: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挂钩,可以自动发现当前的启动会话。


Answers:


18

您应该能够像这样在终端中解锁钥匙串:

security unlock-keychain -p <YourPassword> ~/Library/Keychains/login.keychain

如果不想提示您输入密码,可以将密码存储在文件中,然后执行以下命令:

security unlock-keychain -p `cat ~/.file_with_your_password` ~/Library/Keychains/login.keychain

请注意,将钥匙串密码存储在文件中会产生一些与安全性相关的缺点,因此您必须自己决定是否可以选择此选项。

我希望这有帮助


3
确实,“ some”不会将密码以纯文本格式存储在文件中来访问您的钥匙串,这使整个事情变得毫无意义了吗?那么您也可以在明文中获得钥匙串中受保护的内容吗?
tml


3

您的钥匙串与OS X的图形登录绑定。当您本地登录计算机时,它会打开您的钥匙串。Terminal,内部运行bash,可识别您的钥匙串。

当您通过PuTTY远程登录时,您的钥匙串不会打开,并且PuTTY和bash也不知道-即使您也在本地登录。它们之间的联系不存在。

因此,很抱歉,但是当您通过PuTTY登录时,您不得不输入密码。

除非知道OS X钥匙链系统内部知识的人能提出某种方法,以在您的PuTTY连接的会话中手动将该链接放置到位,但是我认为这可能比一次在密码输入框中输入密码更多的工作。而。


1
这些是我经常使用的几个密钥的长短语,因此我有动力去发现您所说的链接机制。
whit537 2011年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.