使用AWS SSM SSH连接到Elastic Beanstalk服务器的简单工具。
项目描述
EB SSM
这个简单的脚本可以帮助您使用AWS SSM SSH连接到Elastic Beanstalk服务器。
eb-ssm旨在结合EB CLI和AWS CLI的工具,为eb ssh
提供一个更好的替代方案。
它是一个pip库,可以通过pip install eb-ssm
安装。
设置完成后,您可以使用eb-ssm [ENVIRONMENT_NAME]
SSH连接到您的Elastic Beanstalk服务器。
您应该使用它的原因
虽然eb ssh
存在,但它要求每个用户都需在本地拥有EC2实例的私钥。这从信息安全和管理访问的角度来看并不理想。如果您已配置SSM,则用户将不再需要SSH密钥来SSH连接到Elastic Beanstalk实例,而是通过IAM进行访问管理。
eb-ssm的主要优势如下
-
服务器SSH访问通过IAM进行管理。通常,您需要自行管理对Elastic Beanstalk环境的SSH访问。IAM是AWS管理所有其他用户访问的地方,使用eb-ssm,您还可以在那里管理EB环境的服务器SSH访问。
-
没有共享SSH密钥。共享、跟踪和旋转SSH密钥很麻烦。使用eb-ssm,那里没有SSH密钥,因此这些问题就消失了。
-
无需在端口22上捣鼓。EB CLI应该只为SSH会话打开端口22,但在SSH会话非正常终止的情况下不会关闭它。eb-ssm做得更好,根本不会一开始就打开端口22。
-
SSH会话的审计日志。AWS SSM会记录SSH会话。这是使用它而不是原生SSH的另一项好处。
-
访问非公开服务器的能力。如果您在私有子网中有服务器,您可以使用eb-ssm SSH进入它们,而无需使用堡垒主机。
先决条件
设置您的Elastic Beanstalk环境以允许通过AWS SSM进行SSH访问
以下步骤需要为每个环境执行一次。
-
转到Elastic Beanstalk > 环境名称 > 配置 > 安全,找到“IAM实例配置文件”(默认情况下为“aws-elasticbeanstalk-ec2-role”)。这是步骤2中的ROLE_NAME。
-
转到IAM > 角色 > ROLE_NAME。在权限下,添加“AmazonSSMManagedInstanceCore”。
-
转到系统管理器 > 会话管理 > 首选 > 编辑。启用“作为支持运行”并将“作为默认用户运行”设置为“ec2-user”(或您的Elastic Beanstalk服务器的默认用户)。
请注意,IAM更改可能需要一些时间(约10分钟)才能传播。如果您已完成AWS设置并收到“TargetNotConnected”错误,请等待10-15分钟再重试。
配置您的本地计算机
以下步骤需要为每台计算机执行一次。
使用EB SSM
通过pip install eb-ssm
安装eb-ssm。
安装后,您只需从您的存储库运行eb-ssm
即可,它将自动连接到存储库的EB配置(在.elasticbeanstalk/config.yml
中)。
要SSH进入特定环境,请使用eb-ssm 环境名称
。
您还可以可选地传递其他参数,例如AWS CLI配置文件或区域到eb-ssm。有关完整选项列表,请参阅eb-ssm --help
。
配置
eb-ssm使用EB CLI配置文件。如果您没有使用EB CLI设置项目,以下是eb-ssm所需的最低配置;此配置位于.elasticbeanstalk/config.yml
中。
global:
application_name: EB_APPLICATION_NAME
default_region: REGION_NAME
profile: PROFILE_NAME
项目详细信息
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
eb-ssm-1.2.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 78341a42407336c161301b330178e93e0857ce548e79a05d16dca52068fcf30b |
|
MD5 | bf930f007407bfea9ee6ae43604e9a74 |
|
BLAKE2b-256 | 7a3bd3d922bc5ff225a2b9e6307c474e8f3643ee96178184186b617b728dfa57 |
eb_ssm-1.2.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0f004844ce3a65081c9196d17fd5070196b2ad2d18b772ce676abfcc58227baf |
|
MD5 | f29c968e4676ec5ef809a103c1291708 |
|
BLAKE2b-256 | 9694ae9526b4f1c5b8365590b7a2a58f5948fb58c4ea0245e95fb81f99ce14f0 |