我正在谷歌云上创建一个TPU。今天晚上,当我尝试ssh进入我的TPU机器时,我得到了以下错误
XXX@ip-address: Permission denied (publickey).
Retrying: SSH command error: [/usr/bin/ssh] exited with return code [255]
我删除了~/.ssh/文件夹中的密钥,并重新运行ssh命令。它在.ssh文件夹中生成公钥和私钥,我在GCP=>VM=>元数据。
我已经在我的测试环境中复制了您的问题。我可以使用Cloud TPU VM创建TPU VM,并使用Cloud Shell中的gcloud命令成功登录SSH。
出现此错误可能有多种原因。以下是导致此错误的几个最常见原因:
-
如果您使用存储在元数据中的SSH密钥连接到启用了操作系统登录的VM
如果在您的项目上启用了OS登录,则您的VM不接受存储在元数据中的SSH密钥。要解决此问题,您可以尝试以下操作之一:
-
使用谷歌云控制台或gcloud命令行工具连接到您的虚拟机。
-
将SSH密钥添加到操作系统登录。有关更多信息,请参阅向用户帐户添加SSH密钥。
-
禁用操作系统登录。有关详细信息,请参阅禁用操作系统登录。
-
-
允许SSH的防火墙规则丢失或配置错误
默认情况下,计算引擎虚拟机允许在端口22上进行SSH访问。如果默认允许ssh规则丢失或配置错误,您将无法连接到虚拟机。要解决此问题,请检查防火墙规则,然后重新添加或重新配置默认允许ssh。
有关SSH疑难解答的更多信息,请参阅此链接。