使用ssh-keygen更改ssh密钥的密码会导致ssh密钥的更改吗?

6

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

但每次使用密钥时都需要输入密码很麻烦。

我想用以下方法删除我的密钥密码:

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

很抱歉,但是钥匙将被更改。

由于我以多种方式使用密钥,这项工作似乎太危险了。

手册页面说,该命令不会更改密钥,但这是不确定的:

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

2个回答

6

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

尝试转换没有任何危险。在转换之前,请备份加密的密钥。


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


如果您需要用于自动化的未加密密钥,则正确的解决方案是拥有两个密钥。一个加密的用于交互式使用,另一个未加密的用于无人值守使用。这样,在您的未加密密钥被攻击时,您可以取消该密钥而无需更换您的加密密钥。

1
另一个解决方案是使用 ssh-agent 重置密码并将新密码留空。
  1. 通过终端进入您的 .ssh 文件夹
  2. ssh-keygen -p
  3. 输入当前密码
  4. 按照交互式屏幕提示,只需连续按两次回车键即可

1
这就是OP想要尝试的。OP只是在问是否可以这样做。 - Martin Prikryl

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