ssh - 无法使用 "in browser"SSH 连接到 Google Compute Engine

标签 ssh google-compute-engine

更改两个密码后,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/

相关文章:

google-compute-engine - 从 Google Compute Engine 实例中删除用户

python - 使用 Python API 创建 GCE 实例

linux - 通过SSH上传本地文件夹

linux - 如何通过 ssh 或 telnet 将终端大小更改发送到命令行应用程序?

linux - 从脚本到远程服务器的 SSH 命令不起作用

ssh - GCE VM无法SSH到刚在其他项目中创建的新GCE VM

google-cloud-platform - 我可以从另一个项目中的实例模板创建 Google 计算实例吗?

php - 使用客户端服务器ssh2_connect中的MAC算法hmac-sha2-256

mercurial - 将 sudo 与 mercurial 和 ssh 身份验证一起使用

google-app-engine - 在 "unexpected error"中使用 google cloud 添加计费方式