首页 > 解决方案 > 来自集群节点的 ssh 触发所有远程主机的公钥错误(MWE for github)

问题描述

问题:

由于某种原因,所有远程主机都停止接受我的 ssh 密钥。在解决这个问题时,我终于意识到,即使完全从 github 中删除我的公钥(在 8 月 13 日之前仍应回退到密码)仍然会产生“公钥”错误。我该如何解决?

重现步骤:

  1. 从 github 用户设置中删除我的集群帐户公钥
  2. 尝试连接(产生错误)
[me@login-node:/data/homevols/me] $ssh -T git@github.com
Permission denied (publickey).

完整性检查:

[me@login-node:/data/homevols/me] $less ~/.ssh/config
Host *
 IdentityFile ~/.ssh/id_rsa
/data/homevols/me/.ssh/config (END)

标签: githubsshpublic-key-encryption

解决方案


我从未见过 GitHub 使用 SSH 回退到密码:它使用技术帐户git,无论如何都没有密码。
这意味着ssh -oPubkeyAuthentication=no git@github.com仍然会返回git@github.com: Permission denied (publickey).,而不需要输入密码。

在您的情况下:生成一个新的 SSH 密钥,将公共密钥添加到您的个人资料中,然后重试:

ssh -Tv git@github.com

您应该会看到一条欢迎消息

> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.

推荐阅读