0

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

我尝试了使用 user@domain.com 的普通 ssh-keygen 并上传了上次有效的公钥,但这次没有。在我更改帐户密码后,问题就开始了。在那之后,我无法再通过 ssh 或 sftp 进入该帐户,尽管在我断开连接之前我没有断开连接。

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

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

这是错误:

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

更新:

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

所以我把它改成:

thisUser:www-data 755 

但在启动时将其更改为:

otherUser:otherUser 600
4

2 回答 2

1

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

  1. 在开发人员控制台中,转到您的实例 > 元数据添加一对键/值

    启动脚本

    chmod 755 /home/your_user/.ssh/authorized_keyschmod 755 ~/.ssh

  2. 重新启动后,您应该检查该页面下方的“串行输出”选项,看看它是否在启动时运行。它应该向您展示以下内容:

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

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

更多信息可以在这里找到

希望有帮助!

于 2014-11-04T10:51:18.193 回答
1

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

于 2016-04-05T08:03:40.257 回答