如何更改我的私钥密码?

如何更改我的私钥密码?

我有一个现有的公钥/私钥对。私钥受密码保护,加密可以是 RSA 或 DSA。这些密钥是您用 生成的密钥,ssh-keygen通常存储在 下~/.ssh

我想更改私钥的密码。在标准 Unix shell 上我该怎么做?

另外,我该如何删除密码?只需将其更改为空即可?

答案1

要更改默认密钥的密码:

$ ssh-keygen -p

如果需要指定密钥,请传递-f选项:

$ ssh-keygen -p -f ~/.ssh/id_dsa

然后在提示符下输入您的旧密码和新密码(两次)。(~/.ssh/id_rsa如果您有 RSA 密钥,请使用。)

更多详情来自man ssh-keygen

[...]
SYNOPSIS
    ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment]
               [-f output_keyfile]
    ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
[...]
     -f filename
             Specifies the filename of the key file.
[...]
     -N new_passphrase
             Provides the new passphrase.

     -P passphrase
             Provides the (old) passphrase.

     -p      Requests changing the passphrase of a private key file instead of
             creating a new private key.  The program will prompt for the file
             containing the private key, for the old passphrase, and twice for
             the new passphrase.
[...]

答案2

如果你没有ssh-keygen安装,也可以openssl直接使用

key="/path/to/your.key"
algo="-des3" # or -aes256 or ...

openssl rsa $algo -in "$key" -out "$key.new"

# and replace old key with new one
mv "$key.new" "$key"

答案3

删除您的 SSH 公钥/私钥:

rm ~/.ssh/id_rsa*

重新创建密钥对,选择一个新密码:

ssh-keygen -t rsa -f ~/.ssh/id_rsa

将新创建的私钥添加到你的 OS X 钥匙串中,以存储密码并管理自动解锁:

ssh-add -K ~/.ssh/id_rsa

将公钥复制到 OS X 剪贴板,以便添加到 GitHub 等网络服务。

cat ~/.ssh/id_rsa.pub | pbcopy

将您新创建的公钥添加到~/.ssh/authorized_keys远程服务器的文件中。务必确保远程~/.ssh文件夹 (700) 和~/.ssh/authorized_keys(600) 的权限正确。您可能需要研究使用ssh-copy-id以简化此过程。

相关内容