【问题标题】:EC2 Instance Connect (browser-based SSH connection) doesn't workEC2 Instance Connect(基于浏览器的 SSH 连接)不起作用
【发布时间】:2020-02-06 20:55:31
【问题描述】:

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

平台:亚马逊 Linux

连接方式: EC2 Instance Connect(基于浏览器的 SSH 连接)

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

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

在浏览器的开发者工具中检查网络日志时,会看到状态代码:400 Bad Request for following URL:

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

有没有人从浏览器成功连接到 Amazon Linux EC2 实例。

【问题讨论】:

  • EC2 Instance Connect 有两个功能。一个函数推送一个临时私钥。另一个功能是基于网络的浏览器。您可以单独测试每个操作。首先,该实例的端口 22 的安全组设置是什么?它是否允许从EC2_INSTANCE_CONNECT 范围的IP 地址访问,甚至是0.0.0.0/0
  • 是的有 0.0.0.0/0, ::/0
  • 您使用的是 Amazon Linux 还是 Amazon Linux 2

标签: amazon-ec2


【解决方案1】:

为了测试,我只是做了以下操作:

  • 使用默认安全组启动 Amazon Linux 2 EC2 实例
  • 在 EC2 管理控制台中单击“连接”
  • 已选择“EC2 实例连接”
  • 点击“连接”

打开了一个新的浏览器选项卡,几秒钟后我就有了一个正常工作的 SSH 连接。

然后我用 Amazon Linuxnot Amazon Linux 2)实例再次尝试并得到错误:

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

这是因为 EC2 Instance Connect 客户端仅预装在 Amazon Linux 2 和 Ubuntu 16.04 或更高版本上。

【讨论】:

    【解决方案2】:

    您可以将 EC2 Instance Connect 与您的 ssh 客户端一起使用。如果您确实需要基于浏览的连接,您的安全组必须有一个规则,允许来自 0.0.0.0/0 的 SSH 连接(端口 22)。在我看来不太安全...

    【讨论】:

    • 这个解决方案对我有用......为了让事情变得简单,我只是在入站规则上选择了“所有流量”并设置为“0.0.0.0/0”(至少暂时)并完成。仅供参考,在它的概览页面上有一个通往实例安全组的快捷方式……AWS 真是一场噩梦。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-13
      • 2020-04-18
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      • 2010-11-13
      相关资源
      最近更新 更多