如何在不创建新密钥的情况下删除SSH密钥的密码保护?

1536

我在创建新的SSH密钥时设置了一个密码短语。但是,现在我意识到,当你在一小时内多次尝试通过SSH提交(GitSVN)到远程位置时,这会非常麻烦。

我能想到的一种方法是删除我的SSH密钥并创建新的密钥。是否有一种方式可以删除密码短语,同时仍然保持相同的密钥?


13
我认为严格来说,Torsten Marek的回答才是正确的。ssh-agent的技巧可能是你在寻找的,但它是针对不同问题的答案。 - tardate
1
口令短语不仅是解锁私有SSH密钥的关键,而且是加密机制的一部分。其中一部分是您的SSH密钥,另一部分是手动输入的口令短语。只有当两个部分都正确时,从它们即时生成的组合密钥才有效。因此,其他口令短语对应于其他SSH密钥(没有口令短语是“其他口令短语”的特殊情况)。 - Paul
142
关闭此类问题就像辩论编程语言中是否应该允许副作用一样,纯粹主义者总是蛮不讲理的,而其他人则不在乎,因为这是一个有用的特性,可以使生活更轻松。虽然它与编程没有直接关系,但仍需要ssh,请不要关闭此类问题。:| - sjas
我同意,这很痛苦,我每天都会遇到多次。不过有时候,在实际推送之前,它给了我最后一次查看我正在推送的内容的机会。我发现这个小命令行修改很有帮助:https://coderwall.com/p/fasnya/add-git-branch-name-to-bash-prompt - David
一个更好的解决方案是使用ssh代理(或keychain等)来存储您的会话凭据,而不是完全删除密码。这样,您只需输入一次密码即可,而不是每次都需要输入。以下是在Windows中执行此操作的方法:https://dev59.com/fHRC5IYBdhLWcg3wOeWB#58784438 - Casey Kuball
11个回答

-1

如果您正在使用Mac电脑

  • 前往.ssh文件夹
  • 在config文件中添加"UseKeychain yes"以进行更新

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

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