(可选)为 AWS CLI 安装 Session Manager 插件
如果需要使用 AWS Command Line Interface (AWS CLI) 启动和结束连接到托管式节点的会话,必须先在本地计算机上安装 Session Manager 插件。可以在支持的 Microsoft Windows、macOS、Linux 和 Ubuntu 版本上安装此插件。
使用最新版本的 Session Manager 插件
Session Manager 插件的更新偶尔会包含增强功能。我们建议您定期确保使用的是最新版本的插件。有关更多信息,请参阅Session Manager 插件最新版本和发布历史记录。
安装先决条件
必须在本地计算机上安装 AWS CLI 版本 1.16.12 或更高版本才能使用 Session Manager 插件。
主题
在 Windows 上安装 Session Manager 插件
您可以使用独立安装程序在 Microsoft Windows Vista 或更高版本上安装 Session Manager 插件。
更新发布后,您必须重复安装过程以获取最新版本的 Session Manager 插件。
为获得最佳效果,建议使用 Windows PowerShell 版本 5 或更高版本在 Windows 客户端上启动会话。或者,您可以在 Microsoft Windows 10 中使用 Command shell。Session Manager 插件只支持 PowerShell 和 Command shell。第三方命令行工具可能与此插件不兼容。
要使用 EXE 安装程序安装 Session Manager 插件,请执行以下步骤:
-
使用以下 URL 下载安装程序。
https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe
或者,您可以访问以下 URL 以下载安装程序的 zip 格式版本。
https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPlugin.zip
-
运行下载的安装程序并按照屏幕上的说明操作。如果您下载了安装程序的 zip 格式版本,则必须先解压缩安装程序。
将安装位置框留空以将插件安装到默认目录。
-
%PROGRAMFILES%\Amazon\SessionManagerPlugin\bin\
-
-
验证安装是否成功。有关信息,请参阅 验证 Session Manager 插件安装。
注意 如果 Windows 无法找到可执行文件,您需要重新打开命令提示符或手动将安装目录添加到
PATH
环境变量。有关信息,请参阅故障排除主题 Session Manager 插件未自动添加到命令行路径 (Windows)。
在 macOS 上安装和卸载 Session Manager 插件
您可以使用捆绑安装程序在 macOS 上安装 Session Manager 插件。
捆绑安装程序不支持安装到包含空格的路径。
要使用捆绑安装程序安装 Session Manager 插件 (macOS),请执行以下步骤:
-
下载捆绑安装程序。
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"
-
解压缩程序包。
unzip sessionmanager-bundle.zip
-
运行安装命令。
sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin
注意 此插件需要 Python 2.6.5 或更高版本或者 Python 3.3 或更高版本。默认情况下,安装脚本在系统默认版本的 Python 下运行。如果已安装 Python 的可选版本并希望使用该版本安装 Session Manager 插件,请使用该版本按 Python 可执行文件的绝对路径运行安装脚本。以下是示例。
sudo /usr/local/bin/python3.6 sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin
安装程序在
/usr/local/sessionmanagerplugin
中安装 Session Manager 插件,并在/usr/local/bin
目录中创建符号链接session-manager-plugin
。这样,不必在用户的$PATH
变量中指定安装目录。要查看
-i
和-b
选项的说明,请使用-h
选项。./sessionmanager-bundle/install -h
-
验证安装是否成功。有关信息,请参阅 验证 Session Manager 插件安装。
如果需要卸载此插件,请按照所示顺序运行以下两个命令。
sudo rm -rf /usr/local/sessionmanagerplugin
sudo rm /usr/local/bin/session-manager-plugin
使用已签名的安装程序在 macOS 上安装 Session Manager 插件
您可以使用已签名的安装程序在 macOS 上安装 Session Manager 插件。
要使用已签名的安装程序安装 Session Manager 插件 (macOS),请执行以下步骤:
-
下载已签名的安装程序。
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/session-manager-plugin.pkg" -o "session-manager-plugin.pkg"
-
运行安装命令。
sudo installer -pkg session-manager-plugin.pkg -target / sudo ln -s /usr/local/sessionmanagerplugin/bin/session-manager-plugin /usr/local/bin/session-manager-plugin
-
验证安装是否成功。有关信息,请参阅 验证 Session Manager 插件安装。
在 Linux 上安装 Session Manager 插件
-
下载 Session Manager 插件 RPM 软件包。
-
x86_64
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"
-
x86
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_32bit/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"
-
ARM64
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"
-
-
运行安装命令。
sudo yum install -y session-manager-plugin.rpm
-
验证安装是否成功。有关信息,请参阅 验证 Session Manager 插件安装。
如果需要卸载此插件,请运行 sudo yum erase
session-manager-plugin -y
在 Ubuntu 上安装 Session Manager 插件
-
下载 Session Manager 插件 deb 软件包。
-
x86_64
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
-
x86
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_32bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
-
ARM64
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb" -o "session-manager-plugin.deb"
-
-
运行安装命令。
sudo dpkg -i session-manager-plugin.deb
-
验证安装是否成功。有关信息,请参阅 验证 Session Manager 插件安装。
如果需要卸载此插件,请运行 sudo dpkg -r
session-manager-plugin
验证 Session Manager 插件安装
运行以下命令验证是否已成功安装 Session Manager 插件。
session-manager-plugin
如果安装成功,将返回以下消息。
The Session Manager plugin is installed successfully. Use the AWS CLI to start a session.
您还可以通过在 AWS CLI 中运行以下命令来测试安装。在下面的命令中,将 instance-id
替换为您自己的信息。
aws ssm start-session --target
instance-id
仅当 Session Manager 管理员已授予您使用 Session Manager 访问目标托管式节点所需的 IAM 权限时,此命令才有效。
GitHub 上的 Session Manager 插件
GitHub
(可选)开启 Session Manager 插件日志记录
Session Manager 插件包括一个允许对运行的会话进行日志记录的选项。默认情况下,日志记录处于关闭状态。
如果允许日志记录,则 Session Manager 插件会在本地计算机上为应用程序活动 (session-manager-plugin.log
) 和错误 (errors.log
) 创建日志文件。
开启 Session Manager 插件的日志记录 (Windows)
-
找到插件的
seelog.xml.template
文件。默认位置是
C:\Program Files\Amazon\SessionManagerPlugin\seelog.xml.template
。 -
将文件名更改为
seelog.xml
。 -
打开文件,然后将
minlevel="off"
更改为minlevel="info"
或minlevel="debug"
。注意 默认情况下,有关打开数据通道和重新连接会话的日志条目在 INFO (信息) 级别记录。数据流(数据包和确认)条目在 DEBUG (调试) 级别记录。
-
更改要修改的其他配置选项。可以更改的选项包括:
-
调试级别:您可以将调试级别从
formatid="fmtinfo"
更改为outputs formatid="fmtdebug"
。 -
日志文件选项:您可以更改日志文件选项,包括日志的存储位置,但日志文件名除外。
重要 不要更改文件名,否则日志记录无法正常工作。
<rollingfile type="size" filename="C:\Program Files\Amazon\SessionManagerPlugin\Logs\session-manager-plugin.log" maxsize="30000000" maxrolls="5"/> <filter levels="error,critical" formatid="fmterror"> <rollingfile type="size" filename="C:\Program Files\Amazon\SessionManagerPlugin\Logs\errors.log" maxsize="10000000" maxrolls="5"/>
-
-
保存该文件。
启用 Session Manager 插件的日志记录(Linux 和 macOS)
-
找到插件的
seelog.xml.template
文件。默认位置是
/usr/local/sessionmanagerplugin/seelog.xml.template
。 -
将文件名更改为
seelog.xml
。 -
打开文件,然后将
minlevel="off"
更改为minlevel="info"
或minlevel="debug"
。注意 默认情况下,有关打开数据通道和重新连接会话的日志条目在 INFO (信息) 级别记录。数据流(数据包和确认)条目在 DEBUG (调试) 级别记录。
-
更改要修改的其他配置选项。可以更改的选项包括:
-
调试级别:您可以将调试级别从
formatid="fmtinfo"
更改为outputs formatid="fmtdebug"
。 -
日志文件选项:您可以更改日志文件选项,包括日志的存储位置,但日志文件名除外。
重要 不要更改文件名,否则日志记录无法正常工作。
<rollingfile type="size" filename="/usr/local/sessionmanagerplugin/logs/session-manager-plugin.log" maxsize="30000000" maxrolls="5"/> <filter levels="error,critical" formatid="fmterror"> <rollingfile type="size" filename="/usr/local/sessionmanagerplugin/logs/errors.log" maxsize="10000000" maxrolls="5"/>
重要 如果使用指定的默认目录存储日志,则必须使用 sudo 运行会话命令,或者给安装插件的目录指定完全读写权限。要绕过这些限制,请更改存储日志的位置。
-
-
保存该文件。
Session Manager 插件最新版本和发布历史记录
本地计算机必须运行支持的 Session Manager 插件版本。当前支持的最低版本为 1.1.17.0。如果运行的是更早的版本,则 Session Manager 操作可能会失败。
要查看使用的是不是最新版本,请在 AWS CLI 中运行以下命令。
仅当插件位于操作系统类型的默认安装目录中时,此命令才返回结果。您也可以在 VERSION
文件(位于安装此插件的目录中)内容中找到版本信息。
session-manager-plugin --version
下表列出了 Session Manager 插件的所有版本,以及每个版本所含的功能和增强功能。
版本 | 发行日期 | 详细信息 |
---|---|---|
1.2.398.0 |
2022 年 10 月 14 日 |
改进:支持 Golang 版本 1.17。更新 macOS 的默认会话管理器插件运行程序以使用 Python3。更新从 SSMCLI 到会话管理器插件的导入路径。 |
1.2.339.0 |
2022 年 6 月 16 日 |
错误修复:修复端口会话的空闲会话超时问题。 |
1.2.331.0 |
2022 年 5 月 27 日 |
错误修复:修复当本地服务器在超时前无法连接时提前关闭端口会话的问题。 |
1.2.323.0 |
2022 年 5 月 19 日 |
错误修复:禁用 smux 保持活动状态以使用空闲会话超时功能。 |
1.2.312.0 |
2022 年 3 月 31 日 |
增强功能:支持更多的输出消息有效负载类型。 |
1.2.295.0 |
2022 年 1 月 12 日 |
错误修复:客户端在代理变为非活动状态时重新发送流数据而导致的会话挂起,以及 start_publication 和 pause_publication 消息的不正确日志。 |
1.2.279.0 |
2021 年 10 月 27 日 |
增强功能:面向 Windows 平台打包成 zip 格式。 |
1.2.245.0 |
2021 年 8 月 19 日 |
增强功能:将 aws-sdk-go 升级到最新版本(v1.40.17)以支持 AWS IAM Identity Center (successor to AWS Single Sign-On)。 |
1.2.234.0 |
2021 年 7 月 26 日 |
错误修复:处理交互式会话类型中会话突然终止的情况。 |
1.2.205.0 |
2021 年 6 月 10 日 |
增强功能:添加对已签名 macOS 安装程序的支持。 |
1.2.54.0 |
2021 年 1 月 29 日 |
增强功能:添加对在 NonInteractiveCommands 执行模式中运行会话的支持。 |
1.2.30.0 |
2020 年 11 月 24 日 |
增强功能:(仅限端口转发会话)整体性能提升。 |
1.2.7.0 |
2020 年 10 月 15 日 |
增强功能:(仅限端口转发会话)延迟减少并且整体性能提升。 |
1.1.61.0 |
2020 年 4 月 17 日 |
增强功能:添加对 Linux 和 Ubuntu 的 ARM 支持。 |
1.1.54.0 |
2020 年 1 月 6 日 |
错误修复:处理 Session Manager 插件未准备就绪时丢弃数据包的争用情况。 |
1.1.50.0 |
2019 年 11 月 19 日 |
增强功能:添加了将端口转发到本地 unix 套接字的支持。 |
1.1.35.0 |
2019 年 11 月 7 日 |
增强功能:(仅限端口转发会话)在本地用户按 Ctrl+C 时将 TerminateSession 命令发送到 SSM Agent。 |
1.1.33.0 | 2019 年 9 月 26 日 | 增强功能:(仅限端口转发会话)当客户端断开 TCP 连接时,向服务器发送断开连接信号。 |
1.1.31.0 | 2019 年 9 月 6 日 | 增强功能:更新以保持端口转发会话打开,直到远程服务器关闭连接。 |
1.1.26.0 |
2019 年 7 月 30 日 |
增强功能:更新以限制会话期间的数据传输速率。 |
1.1.23.0 |
2019 年 7 月 9 日 |
增强功能:添加对使用 Session Manager 运行 SSH 会话的支持。 |
1.1.17.0 | 2019 年 4 月 4 日 |
增强功能:添加了使用 AWS Key Management Service (AWS KMS) 进一步加密会话数据的支持。 |
1.0.37.0 | 2018 年 9 月 20 日 |
增强功能:Windows 版本错误修复。 |
1.0.0.0 | 2018 年 9 月 11 日 |
发布 Session Manager 插件的初始版本。 |