SSH 私钥的空密码适用于“ssh-add”,但不适用于“ssh-keygen”

SSH 私钥的空密码适用于“ssh-add”,但不适用于“ssh-keygen”

我有一个使用空密码加密的 SSH 私钥:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC
...

我知道它是空的,因为如果我使用ssh-add,它会提示我输入密码并将其留空即可。如果我给出ssh-add一个虚假短语,它会给我预期的错误消息Bad passphrase, try again for id_rsa_old

但是,当我尝试使用ssh-keygen -p更改密码短语时,它给了我错误incorrect passphrase supplied to decrypt private key。关于如何更改密码的任何想法,或者甚至为什么ssh-add允许空短语但ssh-keygen不允许?

答案1

使用空密码短语加密

空密码短语不会加密。告诉Proc-Type: 4,ENCRYPTED您它是用密码加密的。

如果我使用ssh-add,它会提示我输入密码

如果 ssh-add 提示您输入密码,则表示该密钥有密码。如果密钥没有密码,则不会提示。

将其留空即可

请澄清你所说的“作品”是什么意思。Identity added如果有效的话就会显示。如果未提供密码短语,则不应发生这种情况。

关于如何更改密码的任何想法

您必须向 提供旧密码ssh-keygen

为什么ssh-add允许空短语

事实并非如此。请检查实际添加了哪些键ssh-add -L

相关内容