小编典典

如何在无需创建新密钥的情况下删除 SSH 密钥的密码?

all

我在笔记本电脑上创建新的 SSH 密钥时设置了密码。但是,正如我现在意识到的那样,当您尝试在一小时内多次通过 SSH提交(
GitSVN
)到远程位置时,这是非常痛苦的。

我能想到的一种方法是,删除我的 SSH 密钥并创建新密钥。有没有办法删除密码,同时仍然保留相同的密钥?


阅读 143

收藏
2022-02-25

共1个答案

小编典典

简短的回答:

$ ssh-keygen -p

然后,这将提示您输入密钥文件位置、旧密码和新密码(可以留空以没有密码)。


如果您想在没有提示的情况下在一行中完成所有操作,请执行以下操作:

$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

重要提示:
请注意,在执行命令时,它们通常会~/.bash_history以纯文本形式记录在您的文件(或类似文件)中,包括提供的所有参数(即本例中的密码短语)。因此,除非您有特殊原因,否则建议您使用第一个选项。

请注意,您仍然可以使用-f keyfile而无需指定-Pnor
-N,并且密钥文件默认为~/.ssh/id_rsa,因此在许多情况下,甚至不需要它。

您可能需要考虑使用 ssh-agent,它可以将密码短语缓存一段时间。最新版本的 gpg-agent 也支持 ssh-agent 使用的协议。

2022-02-25