我使用PuTTYgen生成了一个OpenSSH私钥(并以OpenSSH格式导出)。
如何在这个现有密钥上设置密码(我知道如何生成带有密码的新密钥)?
我使用PuTTYgen生成了一个OpenSSH私钥(并以OpenSSH格式导出)。
如何在这个现有密钥上设置密码(我知道如何生成带有密码的新密钥)?
试试下面的命令:
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