当前位置: 首页 > news >正文

【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-connect

curl 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.rpm

curl 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.rpm

sudo 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

相关文章:

  • 第一个Qt开发的OpenCV程序
  • 关税扰动下市场波动,如何寻找确定性的长期之锚?
  • 一周学会Pandas2 Python数据处理与分析-Pandas2读取CSV
  • 榕壹云无人共享系统:基于SpringBoot+MySQL+UniApp的物联网共享解决方案
  • 可以使用多种AI模型自动化制作web和手机应用软件的利器:bolt.diy
  • (十五)安卓开发中不同类型的view之间继承关系详解
  • 去重新闻数据中重复的正文内容(body 字段),并把唯一的新闻内容保存到一个新的 JSON 文件中
  • Ubuntu 软件卸载与清理终极指南
  • 在项目中,引入【全局异常处理器】
  • Spring IoC深度解析:掌控Bean存储艺术与分层架构的智慧​​
  • 通过代码获取接口文档工具
  • 智膳优选 | AI赋能的智慧食堂管理专家 —— 基于飞书多维表格和扣子(Coze)的智能解决方案
  • 医院PACS系统源码
  • 初级社会工作者考试精选题库
  • react+Tesseract.js实现前端拍照获取/选择文件等文字识别OCR
  • TPS入门DAY04 服务器篇
  • 文件内容课堂总结
  • 14 nginx 的 dns 缓存的流程
  • 为了避免unboundLocalError和为什么X的值一直不变呢?
  • Gartner发布软件供应链安全市场指南:软件供应链安全工具的8个强制功能、9个通用功能及全球29家供应商
  • 河北 政府网站建设管理/给公司做网站要多少钱
  • 网站中的二级菜单怎么做23/网店推广培训
  • 聊城做网站优化/长沙网站推广
  • 怎样建设香港网站/制作网站要找什么公司
  • 信息网站建设预算/资源猫
  • 手机移动网站设计/seo赚钱暴利