尝试连接到 Deep Learning AMI 时 EC2 Instance Connect 失败

EC2 Instance Connect fails when trying to connect to Deep Learning AMI

我在 Get started with deep learning using the AWS Deep Learning AMIs | AWS 之后创建了一个 AWS EC2 实例。现在已经启动 运行。它提供了 3 个连接选项:

通过独立 SSH 客户端的连接有效,但是当我尝试基于浏览器的 SSH 连接(第二个选项)时,它会导致以下错误:

有谁知道可能出了什么问题以及如何解决?

您似乎需要在实例上设置 Instance Connect 才能使浏览器连接正常工作。从您链接的指南来看,我假设您使用的是 Ubuntu 基于 16.04 的 AMI。 以下内容摘自 this 指南。

  1. 安装 ec2-instance-connect 包。
ubuntu:~$ sudo apt-get update
ubuntu:~$ sudo apt-get install ec2-instance-connect

您应该会在 /usr/share/ec2-instance-connect/ 文件夹中看到四个新文件:

eic_curl_authorized_keys
eic_harvest_hostkeys
eic_parse_authorized_keys
eic_run_authorized_keys
  1. 为将使用 Instance Connect 的用户配置 IAM 权限。 创建包含以下内容的策略并将其附加到您的 IAM 用户(将实例 ARN 替换为适合您的实例的值)。
{
    "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "ec2-instance-connect:SendSSHPublicKey",
        "Resource": [
            "arn:aws:ec2:region:account-id:instance/i-1234567890abcdef0",
            "arn:aws:ec2:region:account-id:instance/i-0598c7d356eba48d7"
        ],
        "Condition": {
            "StringEquals": {
                "ec2:osuser": "ubuntu"
            }
        }
      },
      {
        "Effect": "Allow",
        "Action": "ec2:DescribeInstances",
        "Resource": "*"
      }
    ]
}

浏览器连接现在应该可以工作了。