EC2实例连接(基于浏览器的SSH连接)无法工作。

8

尝试连接Amazon AWS EC2实例失败。

平台:亚马逊Linux

连接方式:EC2实例连接(基于浏览器的SSH连接)

错误信息:设置实例连接时出现问题。登录失败。如果此实例刚启动,请过一两分钟后重试。

注意:我能够通过Putty / SSH客户端进行连接。但是同一个实例无法通过浏览器连接。

在浏览器的开发工具中检查网络日志,发现以下URL的状态代码为:400 Bad Request:

https://ec2-instance-connect.us-east-2.managed-ssh.aws.a2z.com/ls/api/tokens

有没有人曾经成功地从浏览器连接到Amazon Linux EC2实例?


EC2实例连接有两个功能。一个功能是推送临时私钥,另一个功能是基于Web的浏览器。您可以单独测试每个操作。首先,该实例的端口22的安全组设置是什么?它是否允许来自EC2_INSTANCE_CONNECT IP地址范围甚至是0.0.0.0/0的访问? - John Rotenstein
是的,它具有0.0.0.0/0和::/0。 - user3731930
你在使用 Amazon Linux 还是 Amazon Linux 2 - John Rotenstein
3个回答

7
为了测试,我刚刚完成以下步骤:
- 启动一个默认安全组的Amazon Linux 2 EC2实例 - 在EC2管理控制台中点击“连接” - 选择“EC2实例连接” - 点击“连接”
一个新的浏览器标签页打开后,几秒钟后我就获得了一个工作的SSH连接。
然后,我又尝试了一次使用Amazon Linux而不是 Amazon Linux 2)实例,结果出现了错误:
“建立实例连接时出现问题。登录失败。如果此实例刚启动,请稍候一两分钟再试。”
这是因为EC2实例连接客户端仅预安装在Amazon Linux 2和Ubuntu 16.04或更高版本上。

1
您可以使用EC2实例连接与您的ssh客户端配合使用。如果您确实需要基于浏览器的连接,则您的安全组必须具有允许从0.0.0.0/0进行SSH连接(端口22)的规则。在我看来并不是很安全...

这个解决方案对我起作用了...为了简便起见,我只选择了入站规则中的“所有流量”,并将其设置为“0.0.0.0/0”(至少是暂时的),然后就完成了。顺便说一下,在实例概览页面上有一个访问实例安全组的快捷方式...AWS 真是一个噩梦。 - Jesse Nickles

0

这是针对AWS Lightsail的,我无法使用浏览器通过SSS连接,但我能够通过macOS终端使用SSH连接。我通过将我的公钥id_rsa.pub内容附加到远程authorized_keys文件中成功登录了SSH,并使用SFTP(Filezilla)更新了authorized_keys文件。为了进行SFTP连接,我从账户页面下载了ssh密钥。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接