GCP TPU ssh 问题

GCP TPU ssh isssue

我正在研究在 Google 云上创建的 TPU。今天晚上,当我尝试通过 ssh 连接到我的 TPU 机器时,出现了以下错误

XXX@ip-address: Permission denied (publickey).
Retrying: SSH command error: [/usr/bin/ssh] exited with return code [255]

我从 ~/.ssh/ 文件夹中删除了密钥并重新运行了 SSH 命令。它在 .ssh 文件夹中生成 public、私钥,我在 GCP => VM => 元数据中复制了 public 密钥。

我已经在我的测试环境中复制了你的问题。我可以使用 Cloud TPU VM 创建 TPU VM,并使用 Cloud Shell.

中的 gcloud 命令成功登录 SSH

发生此错误的原因有多种。以下是此错误的几个最常见原因:

  1. 如果您使用存储在元数据中的 SSH 密钥连接到启用了 OS 登录的 VM。

    如果您的项目启用了 OS 登录,您的 VM 将不接受存储在元数据中的 SSH 密钥。要解决此问题,您可以尝试以下方法之一:

    1. 使用 Google 云控制台或 gcloud 命令行工具连接到您的虚拟机。

    2. 将您的 SSH 密钥添加到 OS 登录。有关详细信息,请参阅 Adding SSH keys to a user account

    3. 禁用OS登录。有关详细信息,请参阅 Disabling OS Login

  2. 允许 SSH 的防火墙规则丢失或配置错误。

    默认情况下,Compute Engine VM 允许在端口 22 上进行 SSH 访问。如果缺少 default-allow-ssh 规则或配置错误,您将无法连接到虚拟机。 要解决此问题,请检查您的 firewall rules 并重新添加或重新配置 default-allow-ssh.

有关 SSH 故障排除的更多信息,请参阅此 link