来自群集节点的 ssh 触发所有远程主机的 public 键错误(github 的 MWE)

ssh from a cluster node triggers public key error for all remote hosts (MWE for github)

问题:

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

重现步骤:

  1. 从 github 用户设置中删除我的集群帐户 public 密钥
  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)

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

对于您的情况:生成一个新的 SSH 密钥,将 public 密钥添加到您的个人资料中,然后重试:

ssh -Tv git@github.com

您应该会看到 Welcome message

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