讲解 AWS Session Manager 连接 EC2 需要的 SSM Agent、IAM 实例角色、HTTPS 出站或 VPC Endpoint,以及会话权限和日志的安全边界。
AWS Systems Manager Session Manager 适合在不对公网开放 SSH 或 RDP 端口的情况下管理 EC2。它不是“无条件登录”:实例必须成为 Systems Manager managed node,并同时满足 SSM Agent、IAM 实例权限和网络端点连通。
准确入口:在 AWS 中文控制台进入“EC2 → 实例”,选中目标后点“连接 → 会话管理器”。按钮可用之前,实例必须运行 SSM Agent、绑定含所需权限的 IAM 实例角色,并能通过 HTTPS 访问 Systems Manager 服务。建立会话不会删除数据,也无需开放 22 端口;日志存储、KMS、VPC 端点和网络流量可能收费。

连接前的四项条件
- 操作系统受 Systems Manager 支持,并安装可用的 SSM Agent;
- EC2 网卡能通过 HTTPS 443 访问
ssm、ssmmessages等区域端点,或使用对应的 Interface VPC Endpoint; - 实例关联包含必要权限的 IAM role,常见基础策略是
AmazonSSMManagedInstanceCore; - 启动会话的 IAM 身份有目标实例和 Session Manager 文档的访问权限。
为什么实例不出现在节点列表
先查看 SSM Agent 状态和版本,再检查实例角色是否真正关联到当前 EC2。网络方面不能只看安全组入站规则;Session Manager 主要依赖实例向区域端点发起出站连接。私有子网没有 NAT 时,需要规划 VPC Endpoint 和私有 DNS。
会话权限不能只依赖默认策略
SSM Agent 会为会话使用 ssm-user,该用户默认可能具有管理权限。生产环境应用资源标签、IAM 条件、会话文档和操作系统权限同时限制人、实例和可执行动作。
日志和审计怎么做
可将会话记录配置到 CloudWatch Logs 或 S3,并用 CloudTrail 记录启动和结束会话的 API 事件。注意端到端 SSH 或端口转发的内容可能无法按普通 shell 会话方式记录,上线前需用实际会话类型验证审计覆盖。
先判断实例为什么不是“受管节点”
- 在实例详情查看 IAM 角色,确认实例配置文件已绑定,而不是只创建了角色名称。
- 在 Systems Manager 的节点列表确认目标在线;没有记录时检查 SSM Agent 是否安装、启动和版本可用。
- 私有子网需经 NAT 出站,或配置 Systems Manager 所需的接口 VPC 端点、私有 DNS 和安全组 443。
- 实例时间和 DNS 必须正常;证书请求失败时不要通过关闭 TLS 验证绕过。
人员权限与实例权限是两回事
实例角色让 Agent 调用服务;登录人的 IAM 权限决定他能否对指定实例执行 ssm:StartSession 等动作。默认按标签、环境和岗位限制目标实例,不给所有人全资源会话权限。需要端口转发或特定会话文档时,再为明确场景授权,不能用管理员策略掩盖资源或文档 ARN 写错。
日志怎样设计才真的可审计
在“Systems Manager → 会话管理器 → 首选项”配置 CloudWatch Logs 或 S3,并按需要使用 KMS 加密。先确认日志目标、密钥策略和操作者权限匹配。Shell 会话日志不能证明所有端口转发内容,涉及审计要求时必须按会话类型验证记录范围,并结合 CloudTrail 查看谁在何时启动、结束了会话。
连接失败对应哪条分支
- 连接页显示实例不可用:回到 Agent、角色、网络和区域四项,不要先改用户密码。
AccessDenied:看报错中的具体动作和资源,分别检查登录人策略、实例角色和 KMS/日志目标策略。- 会话建立后命令权限不足:这是操作系统用户与文件权限问题,不应扩大云端 IAM 权限。
- 日志没有到达:检查首选项、日志组/桶区域、密钥和服务权限,不要把“能登录”当作日志完成。
验收与回退
从一名普通运维账号建立会话,确认只能进入被授权实例;执行 id、查看主机名等只读命令,并核对 CloudTrail 与日志目标。随后从安全组移除公网 22 入站,再次验证会话。保留控制台救援或仅固定来源可用的 SSH 回退方案,直到跨区域、Agent 升级和角色轮换都验证完成。异常时恢复上一条受限规则,不得临时开放 0.0.0.0/0。
完成当前任务后继续检查
- AWS IAM Role 怎么给 EC2 授权?Instance Profile 与临时凭证
- AWS VPC、子网和路由表怎么配置?公有与私有网络
- AWS EC2 密钥对怎么配置?私钥权限、替换与登录排查

