注:2023年新发布的Amazon Linux 2023,已经预先安装了软件包ec2-instance-connect
,无须手工安装。
一、背景
AWS海外区域推出了基于网页版SSH客户端的EC2 Instance Connect功能,可以用于连接到Linux系统。使用效果如下图。

EC2 Instance Connect功能是一个基于WEB界面的SSH工具,是通过网络连接来访问EC2的。因此使用这个功能的要求是:
- EC2具有EIP可从外网访问
- 且安全规则组放行了EC2 Instance Connect客户端的地址范围
对于已经存在的虚拟机,连接到一个现有的虚拟机,会出现黑屏的情况,需要进一步完成如下配置。
二、配置EC2 Instance Connect
1、为老版本操作系统安装EC2 Instance Connect软件包
注:Amazon Linux 2023版本已经预装本软件包,可跳过本步骤。
使用root身份执行如下命令。
yum install ec2-instance-connect
systemctl start ec2-instance-connect.service
systemctl enable ec2-instance-connect.service
以上命令将安装EC2 Connect所需要的软件包。
2、打开安全规则组允许EC2 Instance Connect
接下来需要在本机上打开安全规则组,放行来自EC2 Connect服务的IP地址的请求。
查询IP地址的方法是从这里下载包含AWS所有IP网段的原始JSON文件。
下载后,查找关键字 EC2_INSTANCE_CONNECT
然后再查找当前对应的Region。注意不同Region的EC2 Connect使用的IP段是不相同的。例如,新加坡ap-southeast-1
的EC2 Instance Connect服务的源地址范围是3.0.5.32/29
,将这个地址段填写到安全规则组的Inbound的放行地址段中。
三、发起连接测试
现在,从EC2控制台上,选中要连接的EC2,点击Connect
按钮,如下截图。

点击第一个标签页启动EC2 Instance Connect
,即可在网页上使用SSH连接到虚拟机。如下截图。

四、参考文档:
使用 EC2 Instance Connect 连接到 Linux 实例:
https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html