我组织中的人员通过 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 软件包损坏(如果您安装了任何软件包)。更好的解决方案是使用重新安装标志。