我按照 GitHub 文档设置了 SSH 密钥对。当我使用 Git Bash 命令测试 SSH 连接时,它可以工作,但消息是:ssh -T [email protected]
你好,saito0211!您已成功验证,但 GitHub 不提供 shell 访问权限。
saito0211
不是我的 GitHub 用户名;我检查了一下,GitHub 上没有人用这个用户名。不过有一个 Instagram 帐户 - 看起来像是日本人。
有人知道发生了什么事吗?
答案1
GitHub 使用 SSH 密钥来验证您的身份。由于所有连接都使用相同的用户名,因此唯一可以区分用户的东西就是他们的公钥。如果您看到的用户名出乎意料,则有以下几种可能性:
- 您使用的密钥不是您想要的密钥。例如,如果我看到该消息,并且我刚刚生成密钥并将其上传到 GitHub,那么我必须查看我的计算机上是否还有其他由其他人创建的密钥。如果您的计算机是从别人那里得到的,并且尚未完全重新安装,那么情况可能就是这样。您可以运行以查看所使用的公钥。
ssh -vvv -T [email protected]
- 您生成了密钥对,但未将公钥上传到 GitHub,并且您和对方使用的工具不安全,并且会生成弱密钥。GitHub 不允许上传同一个密钥两次,但如果您和对方都使用相同的弱 PRNG 创建密钥,那么您可能意外生成了同一个密钥。但是,这样的密钥是不安全的。
- GitHub 存在某种错误识别用户的问题。这种情况是有可能的,但可能性不大,因为用户很快就会注意到并抱怨。
答案2
事实证明,我无意中使用了 Vagrant ssh 密钥,因此其他人犯了同样的笔误也就不足为奇了。感谢 github 支持!