不能ssh到Google-Engine,循环连接

时间:2018-05-17 06:28:16

标签: ssh google-cloud-platform

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

当我尝试通过浏览器访问我的Google引擎时,我会在无限循环中继续关注以下消息:

enter image description here

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

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

[问] 有什么方法可以解决这个问题吗?由于我现在无法访问引擎,我不知道该怎么做。

如果被问到,我可以提供更多信息。

2 个答案:

答案 0 :(得分:1)

但是,您可以随时通过串行控制台取回访问权限,然后在那里您可以在内部解决用户/ 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身份验证您的自己。

答案 1 :(得分:1)

我遇到了同样的问题,花了几天的时间弄清楚我的情况。

要找出答案,我从头开始创建了一个新实例,并开始对最终无法连接的那些对象进行所有修改,退出ssh连接并重新输入以进行测试。

我已经尝试了几次,在这两种情况下,卸载python后都无法建立连接(我只需要3.7版本,所以我要卸载所有其他版本并安装需要的版本)。

我的卸载命令是 sudo apt清除python2.7-minimal 和 sudo apt清除python3.5-minimal

我不知道这是否是专门由于删除python或由于使用了清除(在这种情况下,如果对其他程序使用清除可能会重现此问题)。 我什至不知道为什么这会影响ssh连接。

难道是Google云以某种方式将目标python用于ssh网站吗?

无论如何,如果遇到此问题,请尝试避免从基本VM卸载任何内容。