除了google dev console ssh之外,无法ssh到服务器

时间:2014-10-02 09:37:38

标签: ssh debian gcloud

我无法从我的计算机进入Google云端托管的服务器。

我尝试使用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].

更新

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

所以我将其改为:

thisUser:www-data 755 

但在启动时会将其更改为:

otherUser:otherUser 600

2 个答案:

答案 0 :(得分:1)

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

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

    密钥启动脚本

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

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

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

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

  3. 可以找到更多信息HERE

    希望有所帮助!

答案 1 :(得分:1)

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