本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
安裝 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機器上
-
登入混合多雲端環境中的伺服器或虛擬機器。
-
如果您使用 HTTP或 HTTPS Proxy,則必須在目前的 Shell 工作階段中設定
http_proxy
或https_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
-
將下列其中一個命令區塊複製並貼到 中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
:有效值為latest
和stable
。 -
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 輪換混合雲端和多雲端環境的私有金鑰
-
導覽至 Linux 機器
/etc/amazon/ssm/
上的 或C:\Program Files\Amazon\SSM
以取得 Windows 機器。 -
將
amazon-ssm-agent.json.template
的內容複製到名為amazon-ssm-agent.json
的新檔案。將amazon-ssm-agent.json
儲存在amazon-ssm-agent.json.template
所在的相同目錄中。 -
查找
Profile
、KeyAutoRotateDays
。輸入您想要的自動私有金鑰輪換之間的天數。 -
重新啟動 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 電腦上重新註冊受管節點
-
連線至您的機器。
-
執行下列命令。請務必將預留位置值取代為建立受管節點啟用時產生的啟用碼和啟用 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