首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS会话管理器没有采购bash

AWS会话管理器没有采购bash
EN

Stack Overflow用户
提问于 2020-06-05 08:55:00
回答 3查看 1.7K关注 0票数 2

我正在使用AWS系统管理员会话管理器连接到我的EC2实例。

当我连接时,会话不会来源于我的.bashrc或.bash_profile,所以我得到了一个非常简单的shell,并且希望在它启动时设置一些配置。

会话管理器将我作为EC2-用户连接,但是shell从/目录开始,而不是用户目录。

当它启动时,我无法弄清楚它是否正在寻找任何配置文件。

我怎样才能让它来源于用户配置文件呢?

我已经通过启用“”设置来设置会话管理器来使用ec2-user。

如果我使用EC2实例连接到实例,那么它的工作原理如下所示:

但是,如果我使用会话管理器,配置文件并不来源于您在这里可以看到的:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-06-06 00:33:27

AWS系统管理器会话管理器使用一个“代理”来建立与EC2实例的连接。代理向系统管理器注册实例。当请求连接时,将向代理发送消息。然后将命令发送到代理,代理在本地执行这些命令并将结果发回。

因此,会话管理器实际上并没有登录到bash会话中。它只是一次执行接收到的命令.

Session Manager的好处是,它可以用于连接到私有EC2实例,因为代理建立到AWS的“出站”连接,而不是将连接请求发送给“实例”。

相反, EC2实例连接实际上建立了到实例的正常SSH连接。web浏览器使用到AWS的Guacamole连接,然后AWS使用正常的SSH (通过额外的攻击允许临时键盘)运行这些命令。因此,它看起来像是运行在shell上的正常连接。

实际上,您可以使用EC2实例连接的“临时SSH键”特性与普通SSH客户端一起使用,而无需使用基于web的SSH客户端。因此,它实际上是一个特性中的两个:基于web的SSH客户端,以及使用临时键盘建立SSH连接的方法。

票数 5
EN

Stack Overflow用户

发布于 2020-06-05 09:01:36

这是因为默认情况下,您被记录为ssm-用户,而不是ec2-user。因此,要以ec2-user身份登录,可以执行以下命令:

代码语言:javascript
运行
复制
sudo su - ec2-user

这将以ec2-user身份登录您,来源您的.bashrc并将您放置在/home/ec2-user中。

或者,如果您使用EC2 Instance connect,则ec2-user被指定为默认值,并且正确地将加载到/home/ec2-user中并获取bash。

票数 0
EN

Stack Overflow用户

发布于 2021-06-05 10:13:03

因为session Manager实际上并没有登录到bash会话中,但是我们可以通过创建一个定制的InteractiveCommands会话文档来实现这一点,该文档将切换到ssm-user bash。台阶在下面。

  1. 创建名为“”的AWS SSM文档"session“类型,并粘贴以下内容。

{ "schemaVersion": "1.0", "description": "Document to run single interactive command on an instance", "sessionType": "InteractiveCommands", "parameters": { "logpath": { "type": "String", "description": "Logged in as bash shell", "default": "", "allowedPattern": "^[a-zA-Z0-9-\_/]+(.log)$" } }, "properties": { "linux": { "commands": "su ssm-user", "runAsElevated": true } } }

  1. 创建可以访问上述SSM文档和ec2实例的IAM策略。

{“版本”:"2012-10-17“、”声明“:[{ "Sid":"SSM-LogLinuxBash-IAMPolicy”、“效果”:“允许”、“行动”:"ssm:StartSession“、”资源“:"arn:aws:ssm:**:document/SSM-LogLinuxBash",“arn:aws:EC2:**:实例/或*”},{ "Sid":"TerminateSSM会话“、”效果“:”允许“、”操作“:"ssm:TerminateSession",“资源”:"arn:aws:ssm:**:session/${aws:username}-*“}}

  1. 将策略附加到IAM组或IAM用户。
  2. 访问实例

aws ssm开始-会话-目标-文档名称SSM-LogLinuxBash

详情请浏览以下博客。为了完全实现

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62211608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档