如何向未使用密码生成的OpenSSH私钥添加密码?
我使用puttygen生成了一个OpenSSH私钥(并以OpenSSH格式导出)。如何在现有密钥上输入密码(我知道如何使用密码生成新密钥)?尝试命令如何向未使用密码生成的OpenSSH私钥添加密码?,ssh,Ssh,我使用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 f
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。这允许您更改密码,而不是生成新密钥 更改密码,如图所示:
ssh-keygen -p -f ~/.ssh/id_rsa
所需的密码将是新密码。(假设您已将公钥~/.ssh/id_rsa.pub
添加到授权的_密钥文件中。)使用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
请参阅:如果您看到此评论,请将其中一个答案标记为已接受,或者写一条评论,说明他们遗漏了什么。谢谢Add与change或remove相同:,可能与change相同:如果您在
id_ed25519
密钥上获得了Bad passphrase
,但密码是正确的,那么您可能正在使用低级ssh-keygen
来管理它。对于那些想知道-f是什么的人来说,它指定输入文件。//,@sigcuise,请您发布一个示例,比如$ssh-keygen-p-f/Users/sigjuice/.ssh/id\u rsa
?这可能会帮助那些不知道如何区分公钥和私钥的人,并帮助他们更快地了解情况。出于某种原因,在MacOS 10.14上,这不会使用Proc Type:4,ENCRYPTED
头格式化文件,这与某些检查密码短语的应用程序不兼容。在尝试了几种方法之后,最简单的解决方法就是在运行Ubuntu的Docker容器中执行同样的操作,然后将密钥复制回Mac。我仍然可以在不输入任何密码的情况下以明文形式读取ssh私钥,所以我想上面的命令是不够的!?(我不希望黑客能够在不知道额外密码的情况下读取我的私钥)/,请举例说明,以及如何检查选项是否有效,@BillThor?我不明白。密码短语已设置,当我再次尝试更改它时,我会看到。但当我尝试登录到远程服务器时,它不会要求输入这个密码,为什么?没关系。它会在每个会话中询问一次:)我不知道。这是否意味着您必须注销并再次登录?关闭终端窗口并重新打开它对我不起作用。您可以键入ssh add-D
删除缓存的标识。然后,再次尝试连接,它将询问您的密码。使用ssh add-l
查看缓存身份的列表。我想我将采用ssh-keygen方法;)感谢您提供openssl替代方案来完成此任务。