解决AWS EC2实例无法使用IAM角色登录AWS CLI
问题背景
有时,我们希望一台AWS EC2实例,即云服务器,能够使用AWS CLI访问AWS管理控制台资源。
例如,这里,我们想让它能够列出所有IAM用户组。
aws iam list-groups
于是,我们使用下面的命令,在AWS CLI中添加某位用户的访问秘钥,作为访问时的认证凭据。
aws configure
然而,这并非最佳方法。最佳方法应是给要访问控制台的实例分配一个IAM角色。否则将会有很多问题,例如,当前使用的访问秘钥能直接被以明文列出。
cat ~/.aws/credentials
于是,我们新建一个具有我们要分配的权限的IAM角色,并把它分配给这个实例。


问题描述
之后我们在控制台里删除原来使用的访问秘钥。然而,此时,新分配的角色似乎并没有起作用。
[ec2-user@ip-172-31-6-134 ~]$ aws iam list-groups
An error occurred (InvalidClientTokenId) when calling the ListGroups operation: The security token included in the request is invalid.
故障排查
我们怀疑AWS CLI似乎还在尝试使用原来的秘钥进行认证。然而,因为这对秘钥已经从控制台内被删除,所以自然而然,认证失败。
解决方法
事实确实如此。当一个EC2实例被分配了一个IAM角色时,并不会自动抹除之前使用aws configure配置的访问秘钥凭据。不仅如此,当IAM角色凭据和访问秘钥凭据同时存在时,后者具有更高优先级,也就是说AWS CLI会优先使用它们。
既然如此,移除原来使用的访问秘钥应该就能强迫AWS CLI使用角色进行认证。直接删除储存秘钥的文本文件credentials。
rm ~/.aws/credentials
有人建议再抹除一些环境变量,但尝试下来似乎并不必要。
for var in AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN AWS_SECURITY_TOKEN ; do eval unset $var ; done
删除完成后,再次尝试从CLI访问AWS管理控制台。
成功。
[ec2-user@ip-172-31-6-134 ~]$ aws iam list-groups
{"Groups": [{"Path": "/",
--snip--
并且,我们还能确认,我们当前确实在用角色作为凭据访问。
[ec2-user@ip-172-31-6-134 ~]$ aws sts get-caller-identity
{"UserId": "AR...KI:i-0f54eeba8022361ec","Account": "5...2","Arn": "arn:aws:sts::5...2:assumed-role/IAMReaderRole/i-0f54eeba8022361ec"
}
[ec2-user@ip-172-31-6-134 ~]$ aws configure listName Value Type Location---- ----- ---- --------profile <not set> None None
access_key ****************6TVT iam-role
secret_key ****************RnOE iam-role region ap-southeast-1 imds
[ec2-user@ip-172-31-6-134 ~]$
问题解决。
相关文章:
解决AWS EC2实例无法使用IAM角色登录AWS CLI
问题背景 有时,我们希望一台AWS EC2实例,即云服务器,能够使用AWS CLI访问AWS管理控制台资源。 例如,这里,我们想让它能够列出所有IAM用户组。 aws iam list-groups于是,我们使用下面的命令,在…...
Java核心语法:从变量到控制流
一、变量与数据类型(对比Python/C特性) 1. 变量声明三要素 // Java(强类型语言,需显式声明类型) int age 25; String name "CSDN"; // Python(动态类型) age 25 name …...
manus是什么?能干啥?
Manus哪儿来的? Manus是一款由中国团队Monica.im于2025年3月5日发布的通用型AI代理(AI Agent)产品,旨在通过自主思考、系统规划和灵活工具调用,帮助用户完成各种复杂任务,从而解放用户的时间与创…...
大型语言模型训练的三个阶段:Pre-Train、Instruction Fine-tuning、RLHF (PPO / DPO / GRPO)
前言 如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 当前的大型语言模型训练大致可以分为如下三个阶段: Pre-train:根据大量可获得的文本资料&#…...
Elasticsearch 2025/3/7
高性能分布式搜索引擎。 数据库模糊搜索比较慢,但用搜索引擎快多了。 下面是一些搜索引擎排名 Lucene是一个Java语言的搜索引擎类库(一个工具包),apache公司的顶级项目。 优势:易扩展、高性能(基于倒排索引…...
发行基础:热销商品榜单
转载自官方文件 ------------------ 热销商品榜单 Steam 在整个商店范围内有各种热销商品榜单,最醒目的莫过于 Steam 主页上的榜单了。 您也可以在浏览单个标签、主题、类型时找到针对某个游戏类别的热销商品榜单。 主页热销商品榜单 该榜单出现在 Steam 主页上…...
实战案例分享:Android WLAN Hal层移植(MTK+QCA6696)
本文将详细介绍基于MTK平台,适配高通(Qualcomm)QCA6696芯片的Android WLAN HAL层的移植过程,包括HIDL接口定义、Wi-Fi驱动移植以及wpa_supplicant适配过程,涵盖STA与AP模式的常见问题与解决方法。 1. HIDL接口简介 HID…...
物联网系统搭建
实验项目名称 构建物联网系统 实验目的 掌握物联网系统的一般构建方法。 实验要求: 1.构建物联网系统,实现前后端的交互。 实验内容: CS模式MQTT(不带数据分析处理功能) 实现智能设备与应用客户端的交…...
微前端框架 Qiankun 的应用及问题分析
一、Qiankun 的核心应用场景与优势 多技术栈共存与灵活集成 Qiankun 支持主应用与子应用使用不同技术栈(如 Vue、React、Angular 等),通过 HTML Entry 方式接入子应用,无需深度改造子应用即可实现集成,降低了技术迁移成…...
设计模式-结构型模式-适配器模式
概述 适配器模式 : Adapter Pattern 是一种结构型设计模式. 作用 : 使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 实现思路 : 适配器模式通过将一个类的接口转换成客户希望的另外一个接口来实现这一点。 这里的“接口”指的是类所提供的…...
6. 机器人实现远程遥控(具身智能机器人套件)
1. 启动控制脚本 远程作到 Raspberry Pi 中,并运行以下脚本: conda activate lerobotpython lerobot/scripts/control_robot.py \--robot.typelekiwi \--control.typeremote_robot登录笔记本电脑上,同时运行以下脚本: conda ac…...
多模态知识图谱融合
1.Knowledge Graphs Meet Multi-Modal Learning: A Comprehensive Survey 1.1多模态实体对齐 1.2多模态实体链接 研究进展&#...
windows 平台如何点击网页上的url ,会打开远程桌面连接服务器
你可以使用自定义协议方案(Protocol Scheme)实现网页上点击URL后自动启动远程桌面连接(mstsc),参考你提供的C代码思路,如下实现: 第一步:注册自定义协议 使用类似openmstsc://协议…...
基于Spark的热门动漫推荐数据分析与可视化系统的设计与实现(采用Python语言Django框架,Hadoop,spider爬虫等技术实现)
基于Hadoop的热门动漫推荐数据分析与可视化系统 基于Django的热门动漫推荐数据分析与可视化系统 1. 开发工具和实现技术 Pycharm, Python3.7,Django框架,Hadoop,Spark,Hive,spider爬虫(爬取动漫之家的动…...
8. 机器人模型训练与评估(具身智能机器人套件)
1. 训练 使用python lerobot/scripts/train.py可以进行机器人控制模型训练,一般需要几个小时,可以在outputs/train/act_lekiwi_test/checkpoints查看锚点数据,下面为一组示例参数: python lerobot/scripts/train.py \--dataset.…...
计算机网络-服务器模型
一.服务器模型 1.支持多客户端访问 //单循环服务器 socket bind listen while(1) { accept while(1) { recv/send } } close 注:该模式remvform为阻塞态,服务器将等待接收数据 2..支持多客户端同时访问 (并发能力) socket…...
DeepSeek大模型 —— 全维度技术解析
DeepSeek大模型 —— 全维度技术解析 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 文章目录 DeepSeek大模型 —— 全维度技术解析一、模型架构全景解析1…...
OSPF网络类型:NBMA与P2MP
一、NBMA网络 NBMA网络的特点 连接方式: 支持多台设备连接到同一个网络段,但网络本身不支持广播或组播。典型例子:帧中继、ATM。 DR/BDR选举: 由于网络不支持广播,OSPF需要手动配置邻居。 仍然会选举DR(…...
大数定律详解
前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 🌟 一、大数定律的…...
2025生物科技革命:AI驱动的基因编辑与合成生物学新纪元
一、基因编辑技术的精准化突破 第三代基因编辑工具CRISPR-Cas12f的研发成功,将编辑精度提升至0.1碱基对级别。中国科学院团队利用该技术在灵长类动物模型中修复遗传性视网膜病变基因,治愈率达到92%。对比传统CRISPR-Cas9技术,新型编辑器脱靶…...
深度技术解析:IDM激活脚本(IAS)的注册表锁定机制与长期试用方案
深度技术解析:IDM激活脚本(IAS)的注册表锁定机制与长期试用方案 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script Internet Dow…...
告别设备标识混乱!用uniappx插件Ba-IdCode-U一站式获取OAID/AndroidID/IMEI(附隐私合规指南)
跨平台开发者的设备标识管理实战:从混乱到合规的完整解决方案 每次启动新项目时,开发者们是否总在纠结该用哪种设备标识?OAID、AndroidID还是IMEI?国内厂商的兼容性问题怎么解决?隐私合规的红线又在哪里?本…...
SpringCloud Alibaba与Nacos版本不匹配?手把手教你解决‘Client not connected‘错误
SpringCloud Alibaba与Nacos版本兼容性实战:彻底解决Client not connected问题 微服务架构的复杂性往往隐藏在细节之中。当SpringCloud Alibaba项目启动时控制台突然抛出Client not connected, current status:STARTING的红色警告,不少开发者都会心头一紧…...
17:L关注AI伦理:蓝队的道德防御
作者: HOS(安全风信子) 日期: 2026-03-17 主要来源平台: GitHub 摘要: 当基拉开始利用AI的伦理漏洞时,传统的安全防御已无法应对。L将AI伦理原则融入安全防御,构建符合道德规范的安全体系。本文拆解L如何在…...
ArcMap地图数字化实战:从加载地形图到保存成果的完整流程(附常见问题解决)
ArcMap地图数字化实战:从加载地形图到保存成果的完整流程(附常见问题解决) 在GIS领域,地图数字化是将纸质地图或图像转换为计算机可识别和处理的数字格式的基础工作。这项技能不仅是GIS专业学生的必修课,也是城市规划、…...
DeepSeek-OCR-2实战教程:OCR结果JSON Schema解析与结构化数据入库指南
DeepSeek-OCR-2实战教程:OCR结果JSON Schema解析与结构化数据入库指南 1. 项目简介 DeepSeek-OCR-2是基于深度学习的智能文档解析工具,专门针对结构化文档内容提取而设计。与传统的OCR工具只能提取纯文本不同,这个工具能够精准识别文档的排…...
HP-Socket技术演讲视频描述撰写指南:关键词与吸引力
HP-Socket技术演讲视频描述撰写指南:关键词与吸引力 【免费下载链接】HP-Socket High Performance TCP/UDP/HTTP Communication Component 项目地址: https://gitcode.com/gh_mirrors/hp/HP-Socket HP-Socket是一款高性能跨平台网络通信框架,专为…...
保姆级教程:在YOLOv12中集成CBAM注意力模块(附完整代码与配置文件)
从零实现YOLOv12与CBAM注意力模块的深度整合实战指南 在目标检测领域,YOLO系列算法始终保持着前沿地位。最新发布的YOLOv12在速度和精度之间取得了更好的平衡,而注意力机制的引入则能进一步提升模型对关键特征的捕捉能力。本教程将手把手带你完成CBAM注…...
从机器人ROS2到微服务gRPC:手把手教你用IDL定义跨语言通信的‘世界语’
从机器人ROS2到微服务gRPC:手把手教你用IDL定义跨语言通信的‘世界语’ 清晨的阳光透过实验室的玻璃窗洒进来,机械臂正在执行预设的轨迹动作,而云端的数据分析服务实时监控着它的能耗曲线。这个看似简单的场景背后,隐藏着一个复杂…...
SYNBO AMA 回顾|当稳定币突破 3000 亿,一级的“钱”到底在往哪里流?
一、 聊了什么:背景与主题时间:2026 Mar 25 (Wed) 20:00 UTC8主题: Stablecoins Primary Market: The New Capital Stack Powering Global Payments in 2026在昨晚举行的一场围绕“稳定币、PayFi 与全球支付”的 AMA 中,SYNBO 与…...
