amazon-web-services - 尝试连接到 Deep Learning AMI 时 EC2 实例连接失败
问题描述
我在使用 AWS Deep Learning AMI 开始深度学习之后创建了一个 AWS EC2 实例| AWS。现在它已启动并运行。它提供了 3 个连接选项:
通过独立 SSH 客户端的连接有效,但是当我尝试基于浏览器的 SSH 连接(第二个选项)时,会导致以下错误:
有谁知道可能出了什么问题以及如何解决?
解决方案
看起来您需要在实例上设置 Instance Connect 才能使浏览器连接正常工作。从您链接的指南来看,我假设您使用的是基于 Ubuntu 16.04 的 AMI。以下内容来自本指南。
- 安装
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
- 为将使用 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": "*"
}
]
}
浏览器连接现在应该可以工作了。
推荐阅读
- git - 我无法将我的更新代码库推送到 gitlab?
- flutter - 如何在 Flutter 中调用 API 回调?
- ocaml - Re.re 和 sexp.opaque :无法编译
- javascript - 当在 javascript 函数中动态创建 div 时,jquery 的单击事件不起作用,除了在页面加载时它正在工作
- php - $_POST 不更新值
- c# - 如何在 Entity Framework Core 中从不同的上下文中选择插入数据
- python-3.x - 我们如何在 python 中使用没有硒的 ChromeDriver、IEDriver、GeckoDriver?
- python - Python中带有/或线程安全队列的公平信号量
- asp.net-mvc - 无法显示来自 MVC 视图文件的图像
- java - 我正在创建 Android 布局,但在我的真实设备上运行后,我得到了相同布局的独特视图