欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 【Amazon EC2】为何基于浏览器的EC2 Instance Connect 客户端连接不上EC2实例

【Amazon EC2】为何基于浏览器的EC2 Instance Connect 客户端连接不上EC2实例

2025/5/5 23:36:13 来源:https://blog.csdn.net/qq_45392321/article/details/147155840  浏览:    关键词:【Amazon EC2】为何基于浏览器的EC2 Instance Connect 客户端连接不上EC2实例

文章目录

    • 前言📖
    • 一、报错先知❌
    • 二、问题复现😯
    • 三、解决办法🎲
    • 四、验证结果👍
    • 五、参考链接🔗

前言📖

这篇文章将讲述我在 Amazon EC2 上使用 RHEL9 AMI 时无法连接到 EC2 实例时所遇到的麻烦😖

一、报错先知❌

Failed to connect to your instance
Error establishing SSH connection to your instance. Try again later.

二、问题复现😯

1️⃣ 首先,创建了所需要的 VPC、子网、路由表、互联网网关、安全组等网络参数配置信息;


2️⃣ 接着,启动新的EC2实例,选择的操作系统是RHEL-9.5.0_HVM-20250313-x86_64-0-Hourly2-GP3,选择之前配置好的VPC网络环境配置,以及创建出新的访问密钥、设置存储空间大小。


3️⃣ 最后,启动配置好的EC2实例。想要通过EC2 Instance Connect 的方式连接到实例,但是产生上述报错信息,导致无法通过EC2 Instance Connect 的方式连接到实例。

最终,在确认好EC2实例及网络配置正确的情况下,尝试在本地使用SSH的方式进行访问EC2实例。

在输入ssh -i <密钥> ec2-user@<公网IP地址>回车后,成功连接到EC2实例。

至此,所有的配置均无问题,SSH能够正常访问到EC2实例。但为何无法通过EC2 Instance Connect 的方式连接到实例呢?

也重新启动了实例,再次尝试通过EC2 Instance Connect 连接到实例,依然还是发生报错,连接不上。

带着这个疑问以及产生出来的报错信息,在查阅相关文档后,最后找到了原因所在,并成功解决这一问题。

三、解决办法🎲

要使用 EC2 Instance Connect 连接到 Linux 实例,该实例必须安装 EC2 Instance Connect。安装 EC2 Instance Connect 将在实例上配置 SSH 进程守护程序。

以使用 Red Hat Enterprise Linux(RHEL)启动的实例上安装 EC2 Instance Connect为例进行安装演示。

  • 使用 SSH 连接到实例
ssh -i <密钥.pem> ec2-user@<公网IP地址>
  • 运行以下命令,在实例上安装 EC2 Instance Connect 软件包【RHEL 9 Intel/AMD(x86_64)】
mkdir /tmp/ec2-instance-connectcurl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpmcurl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmsudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm

在 /opt/aws/bin/ 文件夹中会看到以下新脚本:

eic_run_authorized_keys
  • 验证是否在实例上成功安装了 EC2 Instance Connect (RHEL 9)
sudo more /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf

如果 AuthorizedKeysCommand 和 AuthorizedKeysCommandUser 行包含以下值,则成功安装 EC2 Instance Connect:

AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f
AuthorizedKeysCommandUser ec2-instance-connect

  • AuthorizedKeysCommand 设置 eic_run_authorized_keys 文件以从实例元数据中查找密钥
  • AuthorizedKeysCommandUser 将系统用户设置为 ec2-instance-connect

四、验证结果👍

最后,尝试使用EC2 Instance Connect 的方式连接到实例,发现连接成功✌️,如下图所示👏。

五、参考链接🔗

👀 在您的 EC2 实例上安装 EC2 Instance Connect

🥳 https://github.com/aws/aws-ec2-instance-connect-config

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词