安裝 SSM Agent 在混合 Linux 節點上 - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

安裝 SSM Agent 在混合 Linux 節點上

本主題說明如何安裝 AWS Systems Manager SSM Agent 在混合和多雲端環境中的非 EC2(Amazon Elastic Compute Cloud) Linux 機器上。如果您計劃使用 Windows Server 在混合和多雲端環境中的 機器,請參閱下一個步驟:安裝 SSM Agent 在混合式上 Windows Server 節點

重要

此程序適用於混合雲端和多雲端環境EC2執行個體以外的機器類型。下載並安裝 SSM Agent 在 Linux EC2執行個體上,請參閱 在 Linux EC2 執行個體SSM Agent上手動安裝和解除安裝

開始之前,請找出您稍早在 建立混合式啟用,以向 Systems Manager 註冊節點 中完成混合啟用後傳送給您的啟用代碼和啟用 ID。您會在以下程序中指定代碼和 ID。

安裝 SSM Agent 在混合和多雲端環境中的非EC2機器上
  1. 登入混合多雲端環境中的伺服器或虛擬機器。

  2. 如果您使用 HTTP或 HTTPS Proxy,則必須在目前的 Shell 工作階段中設定 http_proxyhttps_proxy 環境變數。如果您不使用代理伺服器,則可以略過此步驟。

    對於HTTP代理伺服器,請在命令列輸入下列命令:

    export http_proxy=http://hostname:port export https_proxy=http://hostname:port

    對於HTTPS代理伺服器,請在命令列輸入下列命令:

    export http_proxy=http://hostname:port export https_proxy=https://hostname:port
  3. 將下列其中一個命令區塊複製並貼到 中SSH。將預留位置值取代為建立受管節點啟用時產生的啟用碼和啟用 ID,並將該值取代為您要下載之 AWS 區域 的識別碼 SSM Agent 從 ,然後按 Enter

    注意

    請注意以下重要詳細資訊:

    • 如果您是根使用者,則不需要 sudo

    • ssm-setup-cli 從建立混合式啟動的 AWS 區域 相同位置下載。

    • ssm-setup-cli 支援用於確定代理程式下載來源的 manifest-url 選項。除非您的組織需要,否則請勿為此選項指定值。

    • 註冊執行個體時,請僅使用為 ssm-setup-cli 提供的下載連結。ssm-setup-cli 不應單獨存放以供日後使用。

    • 您可以使用此處提供的指令碼來驗證 的簽章ssm-setup-cli

    region 代表 支援的 AWS 區域 識別符 AWS Systems Manager,例如us-east-2美國東部 (俄亥俄) 區域。如需支援的清單 region 值,請參閱 中 Systems Manager 服務端點中的區域Amazon Web Services 一般參考

    此外,ssm-setup-cli 還包括下列選項:

    • version:有效值為 lateststable

    • downgrade - 允許 SSM Agent 將降級至較早版本。指定 true 以安裝較早版本的代理程式。

    • skip-signature-validation:在下載和安裝代理程式期間略過簽章驗證。

mkdir /tmp/ssm curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/3.0.1479.0/linux_amd64/amazon-ssm-agent.rpm -o /tmp/ssm/amazon-ssm-agent.rpm sudo yum install -y /tmp/ssm/amazon-ssm-agent.rpm sudo stop amazon-ssm-agent sudo -E amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" sudo start amazon-ssm-agent
mkdir /tmp/ssm curl https://amazon-ssm-region.s3.region.amazonaws.com/latest/linux_amd64/ssm-setup-cli -o /tmp/ssm/ssm-setup-cli sudo chmod +x /tmp/ssm/ssm-setup-cli sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -id "activation-id" -region "region"
mkdir /tmp/ssm curl https://amazon-ssm-region.s3.region.amazonaws.com/latest/linux_amd64/ssm-setup-cli -o /tmp/ssm/ssm-setup-cli sudo chmod +x /tmp/ssm/ssm-setup-cli sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region"
mkdir /tmp/ssm curl https://amazon-ssm-region.s3.region.amazonaws.com/latest/linux_amd64/ssm-setup-cli -o /tmp/ssm/ssm-setup-cli sudo chmod +x /tmp/ssm/ssm-setup-cli sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region"
mkdir /tmp/ssm curl https://amazon-ssm-region.s3.region.amazonaws.com/latest/debian_amd64/ssm-setup-cli -o /tmp/ssm/ssm-setup-cli sudo chmod +x /tmp/ssm/ssm-setup-cli sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region"
mkdir /tmp/ssm curl https://amazon-ssm-region.s3.region.amazonaws.com/latest/debian_arm/ssm-setup-cli -o /tmp/ssm/ssm-setup-cli sudo chmod +x /tmp/ssm/ssm-setup-cli sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region"
  • 使用 .deb 套件

    mkdir /tmp/ssm curl https://amazon-ssm-region.s3.region.amazonaws.com/latest/debian_amd64/ssm-setup-cli -o /tmp/ssm/ssm-setup-cli sudo chmod +x /tmp/ssm/ssm-setup-cli sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region"
  • 使用 Snap 套件

    您不需要URL為下載指定 ,因為 snap命令會自動從 Snap 應用程式存放區 https://https://snapcraft.io

    開啟 Ubuntu Server 20.10 STR和 20.04、18.04 和 16.04LTS,SSM Agent 安裝程式檔案,包括代理程式二進位檔案和組態檔案,都存放在下列目錄中:/snap/amazon-ssm-agent/current/。如果您變更此目錄中的任何組態檔案,則必須將這些檔案從 /snap 目錄複製到 /etc/amazon/ssm/ 目錄。日誌和程式庫檔案未變更 (/var/lib/amazon/ssm/var/log/amazon/ssm)。

    sudo snap install amazon-ssm-agent --classic sudo systemctl stop snap.amazon-ssm-agent.amazon-ssm-agent.service sudo /snap/amazon-ssm-agent/current/amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" sudo systemctl start snap.amazon-ssm-agent.amazon-ssm-agent.service
    重要

    Snap Store 中的候選頻道包含最新版本的 SSM Agent;不是穩定的頻道。如果您想要追蹤 SSM Agent 候選頻道的版本資訊,請在您的 上執行下列命令 Ubuntu Server 18.04 和 16.04 LTS 64 位元受管節點。

    sudo snap switch --channel=candidate amazon-ssm-agent

命令會下載並安裝 SSM Agent 在混合雲端和多雲端環境中的混合啟用機器上。命令會停止 SSM Agent,然後向 Systems Manager 服務註冊機器。此機器現在是受管節點。針對 Systems Manager 設定的 Amazon EC2執行個體也是受管節點。不過,在 Systems Manager 主控台中,混合啟用節點會與字首為 "mi-" 的 Amazon EC2執行個體區分開來。

繼續進行安裝 SSM Agent 在混合式上 Windows Server 節點

設定私有金鑰自動輪換

若要強化您的安全狀態,您可以設定 AWS Systems Manager Agent (SSM Agent) 自動輪換混合雲端和多雲端環境的私有金鑰。您可以使用 存取此功能 SSM Agent 3.0.1031.0 版或更新版本。使用下列程序開啟此功能。

若要設定 SSM Agent 輪換混合雲端和多雲端環境的私有金鑰
  1. 導覽至 Linux 機器/etc/amazon/ssm/上的 或 C:\Program Files\Amazon\SSM 以取得 Windows 機器。

  2. amazon-ssm-agent.json.template 的內容複製到名為 amazon-ssm-agent.json 的新檔案。將 amazon-ssm-agent.json 儲存在 amazon-ssm-agent.json.template 所在的相同目錄中。

  3. 查找 ProfileKeyAutoRotateDays。輸入您想要的自動私有金鑰輪換之間的天數。

  4. 重新啟動 SSM Agent.

每次變更組態時,請重新啟動 SSM Agent.

您可以自訂 的其他功能 SSM Agent 使用相同的程序。如需可用組態屬性及其預設值的 up-to-date清單,請參閱組態屬性定義

取消註冊並重新註冊受管節點

您可以從 AWS CLI 或 Tools for Windows 呼叫 DeregisterManagedInstanceAPI操作,以取消註冊混合啟用的受管節點 PowerShell。以下是範例CLI命令:

aws ssm deregister-managed-instance --instance-id "mi-1234567890"

若要移除代理程式的剩餘註冊資訊,請移除 amazon-ssm-agent.json 檔案中的 IdentityConsumptionOrder 索引鍵。然後執行以下命令:

amazon-ssm-agent -register -clear

您可以在取消註冊機器之後重新註冊它。使用以下程序來重新註冊機器。完成程序後,您的受管節點會再次顯示在受管節點清單中。

在非EC2 Linux 電腦上重新註冊受管節點
  1. 連線至您的機器。

  2. 執行下列命令。請務必將預留位置值取代為建立受管節點啟用時產生的啟用碼和啟用 ID,並將該值取代為您要下載的 區域的識別碼 SSM Agent 從 。

    echo "yes" | sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region

故障診斷 SSM Agent 在非EC2 Linux 機器上安裝

使用下列資訊來協助您疑難排解安裝問題 SSM Agent 在混合雲端環境中的混合啟用 Linux 機器上。

您收到 DeliveryTimedOut 錯誤

問題 :將機器設定為個別 的 AWS 帳戶 受管節點時 AWS 帳戶,您會在執行要安裝的命令DeliveryTimedOut後收到 。SSM Agent 在目標機器上。

解決方案DeliveryTimedOut 是此情況的預期回應代碼。要安裝的命令 SSM Agent 會變更來源節點的節點 ID。因為節點 ID 已變更,所以來源節點無法回覆在執行時命令已失敗、已完成或已逾時的目標節點。

無法載入節點關聯

問題 :執行安裝命令後,您會在 中看到下列錯誤 SSM Agent 錯誤日誌:

Unable to load instance associations, unable to retrieve associations unable to retrieve associations error occurred in RequestManagedInstanceRoleToken: MachineFingerprintDoesNotMatch: Fingerprint doesn't match

如果機器 ID 在重新開機後未持續存在,則會看到此錯誤。

解決方案:若要解決此問題,請執行下列命令。此命令會強制機器 ID 在重新開機後持續存在。

umount /etc/machine-id systemd-machine-id-setup