SSH-Add 的密钥链

9

我需要一直从Github拉取代码,但是每次都要输入口令很麻烦,所以我通常会执行以下操作...

ssh-agent bash
ssh-add ~/.ssh/id_rsa
<prompt and give passphrase>

这对于会话是有效的,但即使在我退出登录之后,我也希望它下次 PuTTY 登录时保存密码短语。因此,我安装了 keychain,但我操作起来太笨拙了。我尝试过以下方法...

/usr/bin/keychain ~/.ssh/id_dsa

它说已经添加了我的密码短语,但是没有起作用 :(

我该如何调用钥匙串让它保存我的Git密码短语?

编辑:因为这跟Git有关,技术上来说我在stackoverflow上发帖也没问题,但我很抱歉没有在SuperUser上发帖。


抱歉,这不是一个编程问题,请投票转移到http://superuser.com/。或者您可以“标记”它并要求管理员移动。(我没有给你的问题投反对票)。祝好运。 - shellter
@shellter,我不小心将您的评论标记为离题。我实际上是想将OP的问题标记为迁移到SuperUser。似乎没有办法取消错误的评论标记 - 抱歉。 - Todd A. Jacobs
如果我在登录后输入“ssh-agent bash”,它就会起作用,然后加载正确的密钥。我该如何做到无需输入任何内容? - TheFrack
3个回答

13

你实际上需要以不同的方式调用钥匙串。将以下内容添加到您的~/.bashrc文件中:

eval `keychain --eval id_rsa`

查看keychain文档,了解如何为您的特定shell或系统正确设置它,或者如果您有更复杂的要求。


9

好的,这是我能想到的最好的翻译...

安装keychain...

然后将以下内容添加到~/.bashrc文件中:

eval `keychain --eval id_rsa`

然后将以下内容添加到~/.bash_profile中:

ssh-agent bash

这将启动钥匙串。但它并不像把两者都放到bash配置文件中那样简单。


1
你必须保持密钥处于“持久”状态。这可以通过在本地端打开代理来实现,结合在openssh情况下使用ssh-A。然后,在远程服务器上运行ssh-add会导致密钥在本地桌面上被打开和保留,以便在再次登录远程端时,密钥已经可用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接