我无法从我的计算机进入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
答案 0 :(得分:1)
为了解决这个问题,有几件事情可以解决。您可以利用GCE中的元数据功能,并添加一个可自动更改权限的启动脚本。
在开发者控制台中,转到实例>元数据和添加一对键/值
密钥:启动脚本
值: chmod 755 /home/your_user/.ssh/authorized_keys 或 chmod 755~ / .ssh
重新启动后,您应该检查该页面下方的串行输出选项,看看它是否在启动时运行。它应该向你展示这些内容:
在元数据中找到启动脚本。
startupscript:运行启动脚本/var/run/google.startup.script
可以找到更多信息HERE
希望有所帮助!
答案 1 :(得分:1)
我通过删除VM设置中自定义元数据下的现有ssh密钥解决了这个问题。然后我可以登录ssh