6

我错误地设置了我的 ssh 密钥的密码。

但是每次使用密钥都输入密码是很烦人的。

我想删除我的密钥的密码:

$ ssh-keygen -p -f <my/key/file>

但是,我担心密钥会被更改。

由于我以多种方式使用密钥,因此这项工作似乎太危险而无法测试。

手册页说,该命令不会改变我认为的密钥,但不确定:

-p 请求更改私钥文件的密码,而不是创建新的私钥。程序将提示输入包含私钥的文件,输入旧密码,两次输入新密码。

4

2 回答 2

6

实际上,密码只是对私钥文件的本地保护。从服务器的角度来看,密钥保持不变。

你尝试没有危险。只需在转换前备份您的加密密钥。


虽然正确的解决方案是使用身份验证代理(如 OpenSSH ssh-agent)。使用代理时,您只需在将密钥加载到代理时键入一次密码。


如果您想要/需要用于某些自动化的未加密密钥,正确的解决方案是拥有两个密钥。一种加密用于交互使用,另一种未加密用于无人值守使用。因此,如果您的未加密密钥被泄露,您可以取消它而无需更换您的加密密钥。

于 2018-03-29T08:21:54.850 回答
1

另一种解决方案是使用 ssh-agent 将您的密码重置为新密码,并将新密码保留为空字符串

  1. .ssh通过终端转到您的文件夹
  2. ssh-keygen -p
  3. 输入当前密码
  4. 按照交互式屏幕,只需按两次 Enter
于 2018-12-01T08:10:41.360 回答