SSM连接Windows实例遇Logon failure权限错误,求助排查解决
SSM连接Windows实例报错的排查与解决
关键结论
你遇到的Logon failure: the user has not been granted the requested logon type错误,和Mac设备完全无关——SSM连接是AWS服务端与实例代理的通信,客户端系统不影响实例本地的权限配置。核心问题是SSM代理在Windows实例上模拟登录时,对应的账号缺失必要的登录权限。
具体排查修复步骤
检查本地安全策略权限
Windows实例的本地安全策略被修改是最常见原因,哪怕你重新部署过实例,后续的自动更新或组策略可能会覆盖配置:- 登录Windows实例(可通过临时RDP或重新部署后趁能连接时操作),打开
secpol.msc(本地安全策略) - 进入本地策略 > 用户权限分配,找到允许本地登录和允许通过远程桌面服务登录
- 确认
NT AUTHORITY\SYSTEM(SSM代理默认运行账号)在这两个权限的列表里,未添加则手动添加,之后重启AmazonSSMAgent服务
- 登录Windows实例(可通过临时RDP或重新部署后趁能连接时操作),打开
验证IAM角色权限
即使首次连接正常,也要确保实例关联的IAM角色未被修改:- 打开EC2控制台,找到对应的Windows实例,查看其绑定的IAM角色
- 确认角色包含
AmazonSSMManagedInstanceCore托管策略,且没有自定义策略限制ssm:StartSession这类操作
查看事件日志定位细节
若重新部署后再次出现问题,可通过事件日志找线索:- 打开
eventvwr.msc,进入Windows日志 > 安全 - 查找事件ID为4625的登录失败事件,日志会明确显示失败的账号及缺失的权限类型,据此针对性修复
- 打开
重置SSM代理配置
偶尔代理配置文件损坏也会导致权限模拟失败:- 停止
AmazonSSMAgent服务 - 删除
C:\Program Files\Amazon\SSM\conf下的配置文件 - 重启服务,代理会自动重新拉取配置
- 停止
临时应急方法
如果当前无法连接实例,可先通过EC2控制台的获取系统日志功能,查看实例启动时SSM代理的初始化日志,检查是否有权限相关的报错信息,帮助快速定位问题。
内容的提问来源于stack exchange,提问作者Mitchell Privett
相关产品推荐
相关产品推荐

