SourceTree终端自动加载SSH密钥

10

有些任务在Git Bash(或终端)中比在SourceTree中更容易/只能完成。我将大部分仓库放在Bitbucket上,并使用SSH密钥。

enter image description here

我遇到的问题是,即使我使用SourceTree(Pageant putty客户端)加载了我的密钥,终端仍然要求我再次加载它。对于更长的密钥短语来说,这可能会很麻烦,而且一旦关闭并重新打开终端,就需要再次输入密码。 enter image description here 如您所见,代理正在运行,密钥已加载,但我仍被要求在git终端/git bash中输入我的密码。
有没有办法只加载一次密钥?
谢谢

2
为什么被踩了?请提供建设性反馈。谢谢。 - rluks
1
这个问题解决了吗?我也遇到了同样的问题,真是让人烦恼。 - andeart
很遗憾,我已经有一段时间没有使用git bash了,而是直接在SourceTree中使用基本的git选项。 - rluks
1
您可以创建一个没有密码的SSH密钥。如果您的私钥受到其他保护措施或者安全性不是问题,那么这是一个选项。 - Fabian
2个回答

2

我有一个相同的问题,即每次重启电脑时,SSH代理会忘记SSH密钥。在我的情况下,解决方案如下:

  1. 打开Sourcetree。
  2. 在菜单中选择“工具”,然后选择“选项”。
  3. 在“常规”和“SSH客户端配置”下,输入SSH密钥的路径。
  4. 启用“当SourceTree打开时自动启动SSH代理”的复选框

如果我将SSH密钥字段留空,而是直接向SSH代理添加密钥,则这 不是永久性的。似乎Sourcetree在启动SSH代理时将SSH密钥的路径转发给了SSH代理。


谢谢,你帮我省了很多时间。 - Ninja Dev

2
在Sourcetree设置中,您是否选择了“当Sourcetree打开时自动启动SSH代理”复选框?

是的,我有。但代理似乎没有为终端提供ssh密钥。当我打开终端并尝试与远程工作时,我被提示再次输入密码。 - rluks
可能你的私钥并没有存储在 c:\Users{username}.ssh 中,当你加载终端时,Sourcetree 会尝试查找此处的密钥。如果你输入 cat ~/.ssh/id_rsa.pub,它能找到密钥吗? - FullStack
是的,它确实有这个问题。我已经添加了一张截图以更好地说明这个问题。 - rluks

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