我无法通过 SSH 连接到我的 GCP 服务器。我一直在
Permission denied (publickey)
。我尝试删除所有 SSH 密钥、重新启动服务器、增加存储空间、使用启动脚本并标记新的防火墙规则,但仍然无法通过 SSH 访问我的服务器。
本文档介绍了使用 SSH 连接到虚拟机 (VM) 实例时可能遇到的常见错误、解决错误的方法以及诊断 SSH 连接失败的方法。
出现此错误的原因有多种。以下是导致此错误的一些最常见原因:
您使用存储在元数据中的 SSH 密钥连接到启用了操作系统登录的虚拟机。如果您的项目启用了操作系统登录,您的虚拟机将不接受存储在元数据中的 SSH 密钥。如果您不确定操作系统登录是否已启用。
要解决此问题,请尝试以下操作之一:
使用 Google Cloud 控制台或 Google Cloud CLI 连接到您的虚拟机。 将您的 SSH 密钥添加到操作系统登录 禁用操作系统登录。
或者
您可以查看此文档以了解如何解决相同的问题。
如果在 GCP 实例中使用 GHES (GitHub Enterprise Server),请不要忘记非标准 SSH 端口 122,因为 babeld 使用标准 22,它不是用于 SSH 登录,而是用于 git 流量。尝试通过端口 22 进行 SSH 会产生
Permission denied (publickey)
。