关于debian:除SSH与Google开发者控制台SSH一起无法进入服务器

Cannot ssh into server except with google dev console ssh

我无法从计算机SSH到Google Cloud托管的服务器上。

我在user@domain.com上尝试了普通的ssh-keygen并上传了公钥,这在上一次有效,但这次却没有。我更改了帐户密码后,问题开始了。此后,尽管直到断开连接后我才断开连接,但我再也无法通过ssh或sftp登录该帐户了。

然后我尝试了gcloud ssh user @ instance,它运行良好,并告诉我它还没有传播。

我在服务器的ssh配置文件中添加了AllowUsers user,并在服务器上重新启动了ssh,但结果仍然相同。

这是错误:

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

更新:

我一直在与Google技术支持部门合作,但这个问题仍然无法解决。名为authorized_keys权限的文件在启动时会不断更改为另一个用户,我也不能以该用户身份登录。

所以我将其更改为:

1
thisUser:www-data 755

但是在启动时它将更改为:

1
otherUser:otherUser 600

我通过删除VM设置中"自定义元数据"下的现有ssh密钥来解决此问题。然后,我可以登录ssh


为了解决此问题,有几件事。您可以利用GCE中的元数据功能并添加一个启动脚本,该脚本将自动更改权限。

  • 在开发人员控制台中,转到"实例">"元数据",然后添加一对键/值

    键:启动脚本

    值:chmod 755 / home /您的用户/.ssh/authorized_keys或chmod 755?/ .ssh

  • 重新启动后,您应该在该页面的下方检查" Serial Ouput"??选项,并查看它是否在启动时运行。它应该向您显示以下内容:

    在元数据中找到的启动脚本。

    startupscript:运行启动脚本/var/run/google.startup.script

  • 更多信息可以在这里找到

    希望有帮助!