首页 文章

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

提问于
浏览
0

我不能从我的计算机ssh到Google Cloud上托管的服务器 .

我尝试使用user@domain.com正常的ssh-keygen并上传上次工作的公钥,但这次却没有 . 我更改了帐户的密码后问题就开始了 . 之后我不再ssh或sftp进入帐户,虽然我没有断开连接,直到我断开连接 .

然后我尝试了gcloud ssh user @ instance并且运行正常并且告诉我它还没有传播 .

我在服务器的ssh配置文件中添加了 AllowUsers user ,我在服务器上重新启动了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

2 回答

  • 1

    有几件事要解决这个问题 . 您可以利用GCE中的 metadata 功能并添加一个可自动更改权限的启动脚本 .

    • 从开发者控制台,转到 Instance > Metadataadd 一对 Key/value

    keystartup-script

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

    重新启动后

    • 应该检查该页面下方的 Serial Ouput 选项,看它是否在启动时运行 . 它应该向你展示这些方面的东西:

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

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

    更多信息可以在HERE找到

    希望有所帮助!

  • 1

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

相关问题