AWS EC2使用SSM会话管理器连接

🧩 前提条件

  • 已创建并运行中的 Amazon EC2 实例(Amazon Linux 2023)

  • 拥有管理员权限的 AWS 账户

  • 已连接到实例(例如通过 EC2 Instance Connect)

第一步:手动安装 SSM Agent

Amazon Linux 2023 默认未安装 amazon-ssm-agent,我们需要手动安装。

  1. 安装 SSM Agent:

    sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm

✅ 如果看到 active (running) 状态,说明服务已成功启动。

  1. 启动 SSM Agent 并设置开机启动:

    bash

    复制编辑

    sudo systemctl enable amazon-ssm-agent

    sudo systemctl start amazon-ssm-agent

  2. 检查运行状态:

    sudo systemctl status amazon-ssm-agent

第二步:为 EC2 实例创建 IAM 角色并绑定所需权限

为了让 EC2 通过 Systems Manager 管理,必须绑定一个包含所需权限的 IAM 角色。

1. 创建 IAM 角色

  • 进入 AWS 控制台,导航到 IAM > 角色

  • 点击【创建角色】,选择 可信实体类型为 AWS 服务

  • 选择用例为 EC2,点击【下一步

2. 命名角色

  • 角色名称示例:ssm

  • 描述(可选):用于允许 EC2 实例调用 SSM 和 CloudWatch 等服务

  • 确认无误后点击【创建角色】

3. 添加权限策略

  • 搜索并勾选策略:AmazonSSMManagedInstanceCore

  • 如果你需要测试更多权限,可一并选择 AdministratorAccess

  • 点击【下一步】

第三步:将 IAM 角色绑定到 EC2 实例

  1. 回到 EC2 控制台

  2. 找到你的实例,在【操作】 > 【安全】 > 【修改 IAM 角色】

  3. 从下拉列表中选择刚刚创建的 ssm 角色

  4. 点击【更新 IAM 角色】

更新后你会看到实例页面中 IAM 角色已成功绑定。

第四步:为 SSM 服务配置 VPC 终端节点

当 EC2 实例位于私有子网中时,无法直接通过互联网连接 AWS 服务(如 SSM),此时需通过创建 Interface 类型的 VPC Endpoint 来实现私网访问。

✅ 1. 进入 VPC 控制台创建终端节点

  • 打开 AWS 控制台,导航至:VPC → 终端节点

  • 点击【创建终端节点】

✅ 2. 选择 SSM 相关的服务名称(共3个)

在服务名称中依次搜索并勾选:

  • com.amazonaws.ap-southeast-1.ec2messages

  • com.amazonaws.ap-southeast-1.ssm

  • com.amazonaws.ap-southeast-1.ssmmessages

✅ 注意:这三个是 Systems Manager 正常工作的必需终端节点。

✅ 3. 网络设置

  • 选择对应的 VPC

  • 勾选所有相关的子网(建议选择所有可用区)

  • 勾选使用 IPv4 地址类型

  • 选择一个现有的安全组(推荐与实例相同安全组)

✅ 4. 策略设置

选择默认选项:完全访问

然后点击【创建终端节点】。终端节点创建过程通常只需 1 分钟,状态变为 "可用" 即完成。

第五步:使用 Systems Manager Session Manager 无公网连接登录实例

有了 SSM Agent + IAM 角色 + VPC 终端节点支持,就可以完全在内网中访问 EC2 实例,无需公网 IP 和 SSH。

✅ 1. 打开 Systems Manager 控制台

  • 导航至:Systems Manager > 会话管理器

  • 点击右上角【启动会话】

✅ 2. 启动会话

  • 在目标实例列表中选择你绑定了 IAM 角色并安装了 SSM Agent 的实例(例如:ssm)

  • 点击【下一步】,选择默认文档,无需修改

  • 最后点击【Start Session(启动会话)】

✅ 3. 登录成功

你会看到一个 WebShell 界面,直接以 shell 用户身份进入 EC2 实例:

相关推荐
fb_12345几秒前
K8s 网络通关手册:Ingress-Nginx 生产级路由 + Calico 三种隧道模式 + NetworkPolicy 白名单实战
网络·nginx·kubernetes
2601_958736993 分钟前
教师课件能不能做虚拟产品?一个被低估的方向
网络
李兆龙的博客25 分钟前
从一到无穷大 #105:OpenAI Habitat II——多租户演进、全球读取优化与 CDC 平台
云计算·存储
~城南花已开~30 分钟前
Redfish 事件接收服务搭建指南(Ubuntu Server 实测)
linux·服务器·python·ubuntu
KIDULT°41 分钟前
K8s 网络进阶实战:Ingress-Nginx、Calico 与 NetworkPolicy 实验 + 排坑记录
网络·nginx·云原生·kubernetes
德迅云安全-上官43 分钟前
服务器遭攻击如何快速响应?从技术原理到接入防御架构的实战指南
运维·服务器·架构
Rock Chin6971 小时前
LangBot 群机器人:三个 AI 角色分工迎新人、答群规、管广告
人工智能·机器人·开源·自动化
倔强的石头1061 小时前
【Linux指南】进程通信系列(四):命名管道 FIFO —— 让陌生进程按名字见面
linux·服务器·网络
updayday8541 小时前
电脑换了硬盘、加了内存,资产台账却没更新 - Ping64 硬件资产管理
大数据·网络·数据库·安全·智能路由器
开开心心就好1 小时前
证件照排版打印工具,免费可自定义尺寸
服务器·开发语言·算法·随机森林·pdf·音视频·散列表