【问题标题】:Changing ssh passphrase with ssh-keygen makes a change of the ssh key?使用 ssh-keygen 更改 ssh 密码会更改 ssh 密钥?
【发布时间】:2018-09-08 01:18:20
【问题描述】:

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

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

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

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

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

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

man page 说,命令不会改变我认为的密钥,但不确定:

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

【问题讨论】:

    标签: ssh ssh-keys ssh-keygen


    【解决方案1】:

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

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


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


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

    【讨论】:

      【解决方案2】:

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

      1. 通过终端转到您的.ssh 文件夹
      2. ssh-keygen -p
      3. 输入您的当前密码
      4. 跟随交互式屏幕,只需按两次 Enter 键

      【讨论】:

      • 这是 OP 想要尝试的。 OP 只是在询问是否可以这样做。