验证 Session Manager 插件的签名 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Systems Manager Change Manager 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 Amazon Systems Manager Change Manager 可用性变更

验证 Session Manager 插件的签名

适用于 Linux 实例的 Session Manager 插件 RPM 和 Debian 安装包是以加密方式签名的。您可以使用公有密钥验证插件二进制文件和软件包是否为未修改的原始包。如果文件有任何更改或损坏,则验证将失败。您可以使用 GNU Privacy Guard(GPG)工具验证安装包的签名。以下信息适用于 Session Manager 插件版本 1.2.707.0 或更高版本。

完成以下步骤以验证 Session Manager 插件安装包的签名。

步骤 1:下载 Session Manager 插件安装包

下载您要验证的 Session Manager 插件安装包。

Amazon Linux 2、AL2023 和 RHEL RPM 软件包

x86_64
curl -o "session-manager-plugin.rpm" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm"
ARM64
curl -o "session-manager-plugin.rpm" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm"

Debian Server 和 Ubuntu Server Deb 软件包

x86_64
curl -o "session-manager-plugin.deb" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb"
ARM64
curl -o "session-manager-plugin.deb" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb"

步骤 2:下载关联的签名文件

下载安装包后,请下载相关的签名文件以进行软件包验证。为了提供额外的保护,以防止未经授权的复制或使用软件包内的 session-manager-plugin 二进制文件,我们还提供了二进制签名,您可以使用该签名来验证单个二进制文件。您可以根据自己的安全需求来选择使用这些二进制签名。

Amazon Linux 2、AL2023 和 RHEL 签名软件包

x86_64

软件包:

curl -o "session-manager-plugin.rpm.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm.sig"

二进制文件:

curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.sig"
ARM64

软件包:

curl -o "session-manager-plugin.rpm.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm.sig"

二进制文件:

curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.sig"

Debian Server 和 Ubuntu Server Deb 签名软件包

x86_64

软件包:

curl -o "session-manager-plugin.deb.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb.sig"

二进制文件:

curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.sig"
ARM64

软件包:

curl -o "session-manager-plugin.deb.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb.sig"

二进制文件:

curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.sig"

步骤 3:安装 GPG 工具

要验证 Session Manager 插件的签名,您必须在系统上安装 GNU 隐私保护(GPG)工具。此验证过程需要使用 GPG 版本 2.1 或更高版本。可以运行以下命令查看 GPG 版本:

gpg --version

如果您的 GPG 版本低于 2.1,则请在继续验证过程之前进行版本更新。对于大多数系统,您可以使用软件包管理程序更新 GPG 工具。例如,在受支持的 Amazon Linux 和 RHEL 版本上,您可以使用以下命令:

sudo yum update sudo yum install gnupg2

在支持的 Ubuntu Server 和 Debian Server 系统上,您可以使用以下命令:

sudo apt-get update sudo apt-get install gnupg2

在继续验证过程之前,请确保您具有所需的 GPG 版本。

步骤 4:验证 Linux 服务器上的 Session Manager 插件安装包

请按照以下程序验证 Linux 服务器上的 Session Manager 插件安装包。

注意

Amazon Linux 2 不支持 gpg 工具版本 2.1 或更高版本。如果以下程序不适用于您的 Amazon Linux 2 实例,请在将签名安装到您的 Amazon Linux 2 实例上之前,在其他平台上验证签名。

  1. 复制以下公有密钥并将其保存到名为 session-manager-plugin.gpg 的文件。

    -----BEGIN PGP PUBLIC KEY BLOCK----- mFIEZ5ERQxMIKoZIzj0DAQcCAwQjuZy+IjFoYg57sLTGhF3aZLBaGpzB+gY6j7Ix P7NqbpXyjVj8a+dy79gSd64OEaMxUb7vw/jug+CfRXwVGRMNtIBBV1MgU1NNIFNl c3Npb24gTWFuYWdlciA8c2Vzc2lvbi1tYW5hZ2VyLXBsdWdpbi1zaWduZXJAYW1h em9uLmNvbT4gKEFXUyBTeXN0ZW1zIE1hbmFnZXIgU2Vzc2lvbiBNYW5hZ2VyIFBs dWdpbiBMaW51eCBTaWduZXIgS2V5KYkBAAQQEwgAqAUCZ5ERQ4EcQVdTIFNTTSBT ZXNzaW9uIE1hbmFnZXIgPHNlc3Npb24tbWFuYWdlci1wbHVnaW4tc2lnbmVyQGFt YXpvbi5jb20+IChBV1MgU3lzdGVtcyBNYW5hZ2VyIFNlc3Npb24gTWFuYWdlciBQ bHVnaW4gTGludXggU2lnbmVyIEtleSkWIQR5WWNxJM4JOtUB1HosTUr/b2dX7gIe AwIbAwIVCAAKCRAsTUr/b2dX7rO1AQCa1kig3lQ78W/QHGU76uHx3XAyv0tfpE9U oQBCIwFLSgEA3PDHt3lZ+s6m9JLGJsy+Cp5ZFzpiF6RgluR/2gA861M= =2DQm -----END PGP PUBLIC KEY BLOCK-----
  2. 将公有密钥导入到您的密钥环中。返回的密钥值应为 2C4D4AFF6F6757EE

    $ gpg --import session-manager-plugin.gpg gpg: key 2C4D4AFF6F6757EE: public key "AWS SSM Session Manager <session-manager-plugin-signer@amazon.com> (Amazon Systems Manager Session Manager Plugin Linux Signer Key)" imported gpg: Total number processed: 1 gpg: imported: 1
  3. 运行以下命令验证指纹。

    gpg --fingerprint 2C4D4AFF6F6757EE

    命令输出的指纹应与以下内容匹配。

    7959 6371 24CE 093A D501 D47A 2C4D 4AFF 6F67 57EE
    pub nistp256 2025-01-22 [SC] 7959 6371 24CE 093A D501 D47A 2C4D 4AFF 6F67 57EE uid [ unknown] AWS SSM Session Manager <session-manager-plugin-signer@amazon.com> (Amazon Systems Manager Session Manager Plugin Linux Signer Key)

    如果指纹不匹配,则请勿安装插件。联系 Amazon Web Services 支持。

  4. 验证安装程序包签名。将 signature-filenamedownloaded-plugin-filename 替换为下载签名文件和 session-manager-plugin 时指定的值,如本主题前面的表中所列。

    gpg --verify signature-filename downloaded-plugin-filename

    例如,对于 Amazon Linux 2 上的 x86_64 架构,命令如下所示:

    gpg --verify session-manager-plugin.rpm.sig session-manager-plugin.rpm

    该命令会返回类似以下内容的输出。

    gpg: Signature made Mon Feb 3 20:08:32 2025 UTC gpg: using ECDSA key 2C4D4AFF6F6757EE gpg: Good signature from "Amazon Systems Manager Session Manager <session-manager-plugin-signer@amazon.com> (Amazon Systems Manager Session Manager Plugin Linux Signer Key)" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 7959 6371 24CE 093A D501 D47A 2C4D 4AFF 6F67 57EE

如果输出包含短语 BAD signature,则检查是否正确执行了此过程。如果您继续获得该响应,则请联系 Amazon Web Services 支持 且不要安装该软件包。有关信任的警告消息并不意味着签名无效,只是您尚未验证公有密钥而已。只有当您或您信任的某个人对密钥进行了签名,密钥才是可信的。如果输出包含短语 Can't check signature: No public key,则验证您下载的 Session Manager 插件是版本 1.2.707.0 或更高版本。