很长一段时间以来,我都使用 SSH 公钥登录许多服务器。但是今天,在重新启动我的 ubuntu 16.04(我们称之为“A”)后,我的密码不再被接受(在我的情况下,我没有密码,但 ssh 要求输入密码)。首先,我相信某种私人/公共文件损坏,但我检查了 id_rsa 和 id_rsa.pub 文件:它们与我之前做的备份完全相同。
我有另一台运行 ubuntu 16.04 的计算机(我们称之为“B”):如果我将 id_rsa 和 id_rsa.pub 从“A”导入到“B”:它也不起作用,尽管没有密码,ssh 仍会要求输入密码。
相反,如果我将在“B”上运行的密钥对导入到计算机“A”中,它们仍然在“A”上运行
所以看起来我常用的“A”键在任何地方都不再起作用了!这怎么可能?某个地方有到期日期吗?
我尝试了很多事情:
更改密码,但需要不被接受的旧密码:
$ ssh-keygen -p -f ~/.ssh/id_rsa Enter old passphrase: Failed to load key /home/xxxx/.ssh/id_rsa: incorrect passphrase supplied to decrypt private key
检查.ssh 目录和密钥文件访问权限:一切正常。
- ssh-add 没有帮助
- 启动 ssh-agent 没有帮助
- 删除并重新创建密码钱包没有帮助
- 在控制台模式下尝试 ssh (Ctrl+F1):效果不明显
- 如果我创建一个全新的密钥对,它可以工作,但我想使用我通常的密钥对,以便不必到处更改公钥(100 台计算机/服务器)
你有好主意吗 ?
注1:
我禁用了 gnome-keyring 并重新启动以减少问题,ssh -vvv
要求输入密码但不应该:
debug1: Offering RSA public key: /home/myuser/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp SHA256:cKYfSV1Glzq2dDgJQ/t6A4c5kHnQTWgrvLaKvgcHp7o
debug3: sign_and_send_pubkey: RSA SHA256:cKYfSV1Glzq2dDgJQ/t6A4c5kHnQTWgrvLaKvgcHp7o
Enter passphrase for key '/home/myuser/.ssh/id_rsa':
debug2: no passphrase given, try next key
debug1: Trying private key: /home/myuser/.ssh/id_dsa
在服务器端的调试模式下:
debug1: Offering RSA public key: /home/elapouya/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp SHA256:cKYfSV1Glzq2dDgJQ/t6A4c5kHnQTWgrvLaKvgcHp7o
debug3: sign_and_send_pubkey: RSA SHA256:cKYfSV1Glzq2dDgJQ/t6A4c5kHnQTWgrvLaKvgcHp7o
Enter passphrase for key '/home/elapouya/.ssh/id_rsa':
debug2: no passphrase given, try next key
debug1: Trying private key: /home/elapouya/.ssh/id_dsa
ssh-add
,ssh-agent
别帮忙
笔记2:
我刚刚发现我的(非常)古老的私钥以以下内容开头:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,42F493B90AF9B59D
f3sgdsomething...
当我生成新的密钥对时,私钥不是以相同的内容开头的:
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAuBMNSvZJFY7/395IJ3tUkyRwCOnDeT2AuaXYJs7diLPHHJEN
我的旧密钥对是在 ubuntu 10.xx 上生成的,然后我在我的计算机上重新安装了全新的 ubuntu 16.04 后复制了它:可能是我的 ubuntu 16.04 不再识别我的旧密钥的格式?