首页 文章

无法使用“在浏览器中”SSH连接到Google Compute Engine

提问于
浏览
2

更改了两个密码root和默认用户后,我们突然注意到Google Compute Engine上的“浏览器中”链接无法通过SSH连接 .

然而,奇怪的是,如果我们使用Google提供的命令行中的SSH命令(即$ gcloud compute ssh VM-NAME --zone VM-ZONE) - SSH可以工作 .

看来SSH正在运行 - 但“在浏览器中”SSH链接不再连接 . 可能出了什么问题,我们如何解决这个问题?

附录:值得注意的是,下面的评论者表示它与密码无关,而是纯粹的SSH密钥 - 所以如果有办法在GCE实例上重新生成SSH密钥,它看起来可能会解决这个问题 . 我们正在寻找 . 如果有人知道为GCE重新生成SSH密钥的代码,请发布 .

2 回答

  • 0

    默认情况下,GCE VM不允许使用明文密码进行SSH连接:它使用密钥代替 . 您可以在VM实例化期间或稍后指定已批准的密钥,但始终存在的密钥是创建计算机时使用的用户帐户的密钥 .

    只要你没有修改/ etc / ssh / sshd_config,就应该继续这样 . 无论哪种方式,您可以使用通过SSH连接到您的实例的另一个选项是运行以下命令:

    $ gcloud compute ssh VM-NAME --zone VM-ZONE

    使用您的授权用户帐户登录时 .

    附录 - 您可以在项目以及VM级别添加其他本地生成的SSH密钥,而不是重新生成以前的密钥 . 第一个适用于所有VM并授予对项目所有者和编辑者的访问权限,而第二个仅适用于相关VM . 这两种方法都将添加的SSH添加到元数据服务器,在SSH连接到所有/ VM之前,从中将get上载到VM .

    您可以从开发人员控制台执行此操作:

    • 项目级SSH密钥 - 转到您的项目 - >计算 - >计算引擎 - >元数据 - >“SSH KEYS”(屏幕顶部) - >单击“编辑”

    • VM级SSH密钥 - 转到您的项目 - >计算 - >计算引擎 - > VM实例 - >单击实例名称 - >“SSH密钥”部分(向下滚动) - >单击“添加SSH密钥”

  • 1

    我们发现原因是我们在Google用于Google Compute Engine实例的主要用户的目录上执行了 chown 命令 .

    通过将重新调整回到谷歌创建的用户,谷歌的浏览器SSH开始重新开始工作 .

    我们在整个用户目录上使用了chown,并使用以下命令将ssh配置文件返回给Google创建的用户:

    chown -R user_name_com /home/user_name_com
    

    以及此文件

    chown user_name_com /etc/ssh/ssh_config
    

    其中user_name_com是我们的Gmail电子邮件地址用户 .

相关问题