使用私钥的 ssh 失败:服务器接受密钥,仍然获取返回数据包类型 51:访问被拒绝(公钥)

使用私钥的 ssh 失败:服务器接受密钥,仍然获取返回数据包类型 51:访问被拒绝(公钥)

我组织中的人员通过 ssh 密钥连接到他们的 GitHub 存储库。最近,有些人收到 :permission denied (public key)

该问题不仅存在于 GitHub 上,他们无法通过 ssh 密钥连接到任何其他设备。

我添加了最多三级的详细程度,并发现服务器接受了密钥,但我仍然收到数据包返回类型 51。

互联网上遇到类似问题的其他人没有得到服务器接受密钥

即使我没有任何与许可相关的问题。

我浏览过几个与 stackoverflow 相关的问题和其他博客。但是,当服务器接受密钥时,没有人遇到这个独特的问题,返回的数据包类型仍然是 51。

这些受影响的机器无法通过密钥 ssh 到任何服务器。甚至 EC2、本地服务器或 GitHub 身份验证都无法实现。

debug1: Next authentication method: publickey
debug1: Offering public key: id_rsa RSA SHA256:JGTSrwZA4qP6vzxrQ3THqcPl6v4m2y3skwqHnm80ic4 explicit agent
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: id_rsa RSA SHA256:JGTSrwZA4qP6vzxrQ3THqcPl6v4m2y3skwqHnm80ic4 explicit agent
debug3: sign_and_send_pubkey: using publickey with RSA SHA256:JGTSrwZA4qP6vzxrQ3THqcPl6v4m2y3skwqHnm80ic4
debug3: sign_and_send_pubkey: signing using rsa-sha2-512 SHA256:JGTSrwZA4qP6vzxrQ3THqcPl6v4m2y3skwqHnm80ic4
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password

编辑1: 取消设置 SSH_AUTH_SOCK 后的输出

debug1: Next authentication method: publickey
debug1: Offering public key: id_rsa RSA SHA256:JGTSrwZA4qP6vzxrQ3THqcPl6v4m2y3skwqHnm80ic4 explicit
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: id_rsa RSA SHA256:JGTSrwZA4qP6vzxrQ3THqcPl6v4m2y3skwqHnm80ic4 explicit
debug3: sign_and_send_pubkey: using publickey with RSA SHA256:JGTSrwZA4qP6vzxrQ3THqcPl6v4m2y3skwqHnm80ic4
debug3: sign_and_send_pubkey: signing using rsa-sha2-512 SHA256:JGTSrwZA4qP6vzxrQ3THqcPl6v4m2y3skwqHnm80ic4
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password

答案1

好的,重新安装 openssh 客户端包后这个问题已解决。

sudo apt install --reinstall openssh-client

笔记:不要卸载然后安装该软件包。卸载 openssh-client 也会卸载 snapd,导致 snap 软件包损坏(如果您安装了任何软件包)。更好的解决方案是使用重新安装标志。

相关内容