你收到 “Permission denied (publickey,gssapi-keyex,gssapi-with-mic)” 错误,表明 SSH 客户端无法使用公钥认证登录到目标服务器。以下是一些可能的原因和解决方法:

确保公钥已正确添加到目标服务器的 authorized_keys 文件中:
在目标服务器上,确保 greenwich 用户的公钥已正确添加到 ~/.ssh/authorized_keys 文件中。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

或者手动复制公钥内容到 ~/.ssh/authorized_keys。
检查文件和目录权限:
确保 .ssh 目录和 authorized_keys 文件的权限正确。
.ssh 目录权限应为 700:

chmod 700 ~/.ssh

authorized_keys 文件权限应为 600:

chmod 600 ~/.ssh/authorized_keys

检查 SSH 配置文件:
确保 SSH 服务端配置文件 /etc/ssh/sshd_config 中启用了公钥认证。
确保以下行没有被注释,且值为 yes:

PubkeyAuthentication yes

重新启动 SSH 服务以应用更改:

sudo systemctl restart sshd

确保客户端使用正确的私钥:
确保你在客户端使用了正确的私钥来进行连接。如果私钥文件不在默认位置(~/.ssh/id_rsa),可以使用 -i 选项指定私钥文件。

ssh -i /path/to/your/private_key 10.21.5.252

检查 SSH 连接的详细输出:
使用 -v 选项运行 SSH 命令,以查看详细的调试信息,有助于诊断问题。

ssh -v 10.21.5.252

通过以上步骤,你应该能够诊断并解决 SSH 登录问题。如果问题仍然存在,请提供详细的调试输出信息,以便进一步分析。