【问题标题】:Cannot ssh into server except with google dev console ssh无法通过 ssh 进入服务器,除非使用 google dev 控制台 ssh
【发布时间】:2014-10-02 09:37:38
【问题描述】:

我无法从我的计算机通过 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].

更新:

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

所以我把它改成:

thisUser:www-data 755 

但在启动时将其更改为:

otherUser:otherUser 600

【问题讨论】:

    标签: ssh debian gcloud


    【解决方案1】:

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

    1. 在开发者控制台中,转到您的 Instance > Metadata添加一对 Key/value

      key启动脚本

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

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

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

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

    更多信息可以找到HERE

    希望有帮助!

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2017-03-11
        • 2013-01-09
        • 1970-01-01
        • 2019-10-19
        • 1970-01-01
        • 2016-12-05
        • 2019-04-24
        • 1970-01-01
        • 2021-03-09
        相关资源
        最近更新 更多