对于未设置密码的OpenSSH私钥,如何添加密码?

我使用PuTTYgen生成了一个OpenSSH私钥(并以OpenSSH格式导出)。

如何在这个现有密钥上设置密码(我知道如何生成带有密码的新密钥)?

122440 次浏览

试试下面的命令:

ssh-keygen -p -f keyfile

从ssh-keygen手册页

 -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.


-f filename
Specifies the filename of the key file.

例子:

ssh-keygen -p -f ~/.ssh/id_rsa

使用-p选项ssh-keygen。这允许您更改密码,而不是生成一个新的密钥。

按照sigjuice的提示修改密码:

ssh-keygen -p -f ~/.ssh/id_rsa

输入的密码为新密码。(这假设你已经将公钥~/.ssh/id_rsa.pub添加到authorized_keys文件中。)用ssh测试:

ssh -i ~/.ssh/id_rsa localhost

您可以有多个具有不同名称的键用于不同的用途。

你也可以使用openssl:

openssl rsa -aes256 -in ~/.ssh/your_key -out ~/.ssh/your_key.enc
mv ~/.ssh/your_key.enc ~/.ssh/your_key
chmod 600 ~/.ssh/your_key

看:https://security.stackexchange.com/a/59164/194668

因为你提到了“puttygen”;也许你用的是Windows😉,我会指引你到“puttygen”的文档。

点击这里[https://the.earth.li/~sgtatham/putty/0.76/htmldoc/Chapter8.html#puttygen-conversions]搜索“import "和“;exporting"a SSH私钥。这与使用“Load"和“;Save"因为这些选项用于加载和保存Putty特定的密钥文件。

这里[https://the.earth.li/~sgtatham/putty/0.76/htmldoc/Chapter8.html#puttygen-passphrase]用于更改密码短语。与为新的私钥创建密码短语时所做的事情相同。

所以步骤是“重要的”;SSH密钥,你不会被要求提供密码,因为你没有创建密码。然后更改(设置)密码短语并确认。然后“export"退回到原来的私钥文件。

希望这能帮助到其他想使用“PuTTYgen"而不是"ssh-keygen"