更改两个密码后,root 和默认用户,突然我们注意到 Google Compute Engine 上的“浏览器中”链接无法通过 SSH 连接。
然而,奇怪的是,如果我们从 Google 提供的命令行(即 $ gcloud compute ssh VM-NAME --zone VM-ZONE)使用 SSH 命令 - SSH 可以工作。
看起来 SSH 正在工作 - 但“在浏览器中”的 SSH 链接不再连接。可能出了什么问题,我们该如何解决?
附录: 值得注意的是,下面的一位评论者表示它与密码无关,而只是纯粹的 SSH key ——所以如果有一种方法可以在 GCE 实例上重新生成 SSH key ,那么看起来这个问题的答案可能会存在。我们正在寻找。如果有人知道为 GCE 重新生成 SSH key 的代码,请发帖。
最佳答案
默认情况下,GCE VM 不允许使用明文密码进行 SSH 连接:它使用 key 代替。您可以在 VM 实例化期间或稍后指定批准的 key ,但始终存在的 key 是您在创建机器时使用的用户帐户的 key 。
只要您没有修改/etc/ssh/sshd_config,情况就会继续如此。无论哪种方式,您可以通过 SSH 连接到您的实例的另一种选择是运行以下命令:
$ gcloud compute ssh VM-NAME --zone VM-ZONE
使用您的授权用户帐户登录时。
附录 - 代替重新生成以前的 key ,您可以在项目和 VM 级别添加额外的、本地生成的 SSH key 。第一个适用于所有 VM 并授予项目所有者和编辑者访问权限,而第二个仅适用于相关 VM。这两种方法都将输入的 SSH 添加到元数据服务器,在 SSH 连接到所有/VM 之前从元数据服务器上传到 VM。
您可以从 Developers Console 执行此操作:
项目级 SSH key - 转到您的项目 -> 计算 -> 计算引擎 -> 元数据 -> “SSH KEYS”(屏幕顶部)-> 点击“编辑”
VM 级 SSH key - 转到您的项目 -> 计算 -> 计算引擎 -> VM 实例 -> 单击实例名称 -> “SSH key ”部分(向下滚动) -> 单击“添加SSH key ”
关于ssh - 无法使用 "in browser"SSH 连接到 Google Compute Engine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28046736/