问题标签 [aws-session-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 无法通过 AWS Session Manager 工作获得 SSH 连接
我在私有子网中有一个 EC2 实例,我想在其中复制文件。
我想通过会话管理器使用安全文件复制而不是 S3 存储桶,如此处记录并在此处宣布。
一个正在运行的 EC2 实例附加了一个包含该策略的实例配置文件AmazonEC2RoleforSSM
。在我的本地计算机 (macOS 10.14.5) 上,AWS CLI (aws-cli/1.16.195) 和会话管理器插件 (1.1.26.0) 已安装并.ssh/config
进行了相应配置。
我可以使用 Web AWS 控制台上的会话管理器登录到实例。
我可以使用带有
aws ssm start-session --target i-XXX
.我无法使用 SSH 登录实例。我尝试了 2 个不同的 OpenSSH 客户端版本:
OpenSSH_7.9p1:
当我运行ssh ec2-user@i-XXX
它无限挂起。但是我可以connected
在会话管理器中看到一个会话。当我 SIGTERM 进程时,我得到以下输出并且会话终止:
OpenSSH_8.0p1:
运行时ssh ec2-user@i-XXX
出现以下错误,需要在会话管理器中手动终止会话:
python - 无法在 python 中解码 AWS Session Manager websocket 输出
希望你做得很好!
用例
我正在尝试在 AWS 上进行 PoC,用例是我们需要能够检查所有实例都可以通过 AWS Session Manager 访问的所有基础设施。
为了做到这一点,我将在 Python 3.7 中使用 Lambda,我目前在本地制作我的 PoC。我能够打开 websocket,发送令牌有效负载并获得包含外壳的输出。
问题是字节输出包含python decode 函数在很多测试字符编码中无法解码的字符,每次都有东西阻塞。
输出
这是发送有效负载后的输出:
打印(事件)
b'\x00\x00\x00toutput_stream_data \x00\x00\x00\x01\x00\x00\x01m\x1a\x1b\x9b\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x01\xb1\x0b?\x19\x99A\xfc\xae%\xb2b\xab\xfd\x02A\xd7C\xcd\xd8}L\xa8\xb2J\xad\x12 \xe3\x94\n\xed\xb81\xfa\xb6\x11\x18\xc2\xecR\xf66&4\x18\xf6\xbdd\x00\x00\x00\x01\x00\x00\x00\x10\x1b[? 1034hsh-4.2$ '
我已经尝试过的
我在stackoverflow上进行了很多研究,尝试使用ascii、cp1252、cp1251、cp1250、iso8859-1、utf-16、utf-8、utf_16_be进行解码,但是每次它都没有解码任何东西,或者它会导致错误,因为性格不详。
我也已经尝试过使用 chardet.detect,但是返回的编码不起作用,而且概率结果也很低。并且还尝试剥离 \x00 但剥离当时不起作用。
我已经知道 shell 输出有时可能包含着色字符和一些使它看起来像乱码的东西,但是在这里,我试图在它上面传递 colorama,试图将一些 ANSI 字符与一些正则表达式匹配,没有成功解码这个字节响应。
编码
这是我的 PoC 的代码,您可以随意使用它来尝试,您只需更改目标实例 id(您的实例需要运行最新的 amazon-ssm-agent)。
预期产出
在最终解决方案中,我希望能够通过 websocket 执行 curl http://169.254.169.254/latest/meta-data/instance-id之类的操作,并将命令输出的 instance-id 与目标进行比较,以验证该实例是可访问的。但我需要能够在实现之前解码 websocket 输出。
提前感谢您对此提供的任何帮助。
尽情享受您的一天!
amazon-web-services - AWS Systems Manager - 会话管理器和运行命令“文档过程意外失败”
我正在使用会话管理器/运行命令来访问我的一些实例,它适用于某些实例而不适用于其他实例。
我对一些实例、相同的安全组、IAM 角色、使用相同代理版本安装的代理具有相同的配置,并且我已经验证这些实例可以通过 AWS CLI 访问aws ssm describe-instance-information --instance-information-filter-list key=InstanceIds,valueSet=instance-id
我可以启动会话并打开终端视图,延迟后会向我发送此错误或黑屏,
我已经尝试更新代理版本,通过 CLI、三重检查安全组、IAM 角色和差异验证代理是否已安装并处于活动状态,并且遇到了问题。
这是其他人看到的 AWS 错误还是我的配置中缺少某些内容?我可能遗漏了一些东西,但我所看到的一切都显示了两个具有相同属性的实例,其中一个与 SSM 会话管理器一起使用,而另一个则不。
amazon-web-services - 如何建立 AWs Systems Manager PortForwarding 会话?未知会话类型端口
我正在尝试对 AWS Systems Manager Session Manager Port Forwarding 会话进行 POC,但即使启动正常会话,我似乎也无法启动 PortForwarding 会话。
会话开始并按预期工作 aws ssm start-session --target i-xxxxxxxxxxx
IAM 角色具有 AWS 策略 AmazonSSMManagedInstanceCore 和会话管理器策略
我希望会话建立隧道并开始将端口 80 转发到我的本地端口 3001
相反,我收到以下错误:
amazon-web-services - VSCode open-ssh 失败:AWS(找不到SessionManagerPlugin)
感谢您的阅读。
我成功设置了 ssh 配置文件以登录到 AWS。
当我尝试在本地终端中进行 ssh 登录时,它运行良好,但是当我尝试使用我的 VSCode Open-SSH 扩展时,除了第一次尝试外,它总是失败。
输出是这样的:
从我的终端环境可以很好地访问所有 aws 命令。
先感谢您。
amazon-web-services - ListAssociation 的 AWS Session Manager 异常
在 AWS 上对会话管理器进行健康检查时遇到以下错误:
相信这是由于实例 IAM 策略授予的权限不足造成的。但是为了解决这个错误,我应该授予什么额外的访问权限?
以下是从 AWS 文档复制的当前内联策略。
}
amazon-web-services - 我想限制 aws 会话管理器中的命令
我正在尝试在会话管理器模式下从一个实例访问文档数据库的 mongo shell,但是在使用会话管理器时。我想限制所有其他命令,除了命令 mongo。
我浏览了一些 aws 文档,我认为会话文档应该可以帮助我实现目标,但我找不到任何启用命令 mongo only 的语法。
amazon-web-services - 如何使用安装了 Session Manager 的 CloudFormation 创建 EC2 实例?
我想使用 CloudFormation 创建一个 EC2 实例。我还想使用会话管理器从 Ec2 实例运行一个 powershell 脚本(而不是我必须 RDP 进入机器并以这种方式运行)
为了让 Session Manager 开箱即用(换句话说,在创建堆栈之后),CloudFormation 模板究竟包含什么内容 这里的想法是
- 在现有 VPC中为Windows Ec2 实例创建堆栈
- 创建堆栈后,在 AWS 控制台中运行会话管理器,执行 powershell 脚本
任何见解都值得赞赏。提前感谢您对此的帮助。
amazon-web-services - 为什么 AWS CloudWatch 加密日志组会中断会话管理器?
最近附加了来自 AWS KMS 的密钥,用于加密 AWS Systems Manager Session Manager 的 CloudWatch 日志组。现在我无法连接到任何会话。
这是什么错误以及如何解决?
由于以下原因,您的会话已终止: ----------ERROR------- 启动握手时遇到错误。Fetching data key failed: Unable to retrieve data key, Error when decrypting data key AccessDeniedException: 密文指的是不存在的客户主密钥,在该区域不存在,或者您不被允许访问。状态码:400,请求ID:
附加到日志组时,密钥肯定存在并且工作正常。会话管理器在尝试加密它们之前也运行良好。我需要在某处添加到策略中的额外权限吗?
amazon-web-services - 无法使用 Session Manager 连接 EC2 实例
我正在使用 Cloudformation 将 EC2 实例部署到不同的 VPC 中。使用 cloudformation 我创建了一个角色和角色配置文件并将其附加到 EC2 实例 [有问题的角色是 AmazonEC2RoleforSSM ]。然而,我无法使用理智连接到 EC2。这是 Cloudformation 代码:AWSTemplateFormatVersion:2010-09-09 描述:测试和开发环境
还附上了错误截图。 PS:我尝试手动执行它并且它有效。似乎不明白我哪里出错了,堆栈已成功构建,所有资源也已部署。
我使用的是 Ubuntu 18.04 LTS Image,它预装了 Session Manager