首页 > 解决方案 > 尝试连接到 Deep Learning AMI 时 EC2 实例连接失败

问题描述

我在使用 AWS Deep Learning AMI 开始深度学习之后创建了一个 AWS EC2 实例| AWS。现在它已启动并运行。它提供了 3 个连接选项:

在此处输入图像描述

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

在此处输入图像描述

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

标签: amazon-web-servicesec2-ami

解决方案


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

  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": "*"
      }
    ]
}

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


推荐阅读