首页 > 解决方案 > 无法通过 ssh 进入 Google-Engine,循环连接

问题描述

我无法通过 SSH 连接到我的 GCE 实例。我连接没有任何问题,我唯一想改变的是我通过浏览器右上角的用户名然后选择Change Linux Username

当我尝试通过浏览器 ssh 进入我的谷歌引擎时,我一直在无限循环中收到以下消息:

在此处输入图像描述

当我尝试通过 cloud shell 进行 ssh 时,我还会收到以下错误消息(串行控制台输出):

Permission denied (publickey).
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].

[Q]有没有办法解决这个问题?由于我现在无法访问引擎,我不知道该怎么办。

标签: sshgoogle-cloud-platform

解决方案


但是,您始终可以通过串行控制台重新访问,然后从那里您可以在内部对用户/ssh 问题进行故障排除。

1)$ gcloud compute instances add-metadata [INSTANCE_NAME] --metadata=serial-port-enable=1

然后您可以通过串口连接到实例 注意:必须已经设置了 root 密码才能使用串口

2)

$ gcloud compute connect-to-serial-port [INSTANCE_NAME]

如果您从未设置过 root 密码,您可以通过向实例添加启动脚本来设置它,该脚本将通过运行以下命令将密码设置为 root: 注意:必须重新启动实例才能运行启动脚本。

3)$ gcloud compute instances add-metadata [instance name] --metadata startup-script='echo "root:YourPasswdHere" | chpasswd'

重新启动实例,运行步骤“2)”中的命令,使用您在步骤“3)”中在启动脚本中设置的密码以 root 身份验证您的身份。


推荐阅读