

• 2026 年 4 月 30 日之後， AWS Systems Manager CloudWatch Dashboard 將不再可用。客戶可以繼續使用 Amazon CloudWatch 主控台來檢視、建立和管理其 Amazon CloudWatch 儀表板，就像現在一樣。如需詳細資訊，請參閱 [Amazon CloudWatch Dashboard 文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

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

# 在混合 Linux 節點上安裝 SSM Agent
<a name="hybrid-multicloud-ssm-agent-install-linux"></a>

本主題說明如何在[混合多雲端](operating-systems-and-machine-types.md#supported-machine-types)環境中non-EC2 (Amazon Elastic Compute Cloud) Linux 機器上安裝 AWS Systems Manager SSM Agent 。如需有關在 EC2 Linux 執行個體上安裝 SSM Agent 的資訊，請參閱[在 Linux EC2 執行個體上手動安裝和解除安裝 SSM Agent](manually-install-ssm-agent-linux.md)。

開始之前，請找出在混合啟用程序期間產生的啟用代碼和啟用 ID，如[建立混合啟用，以向 Systems Manager 註冊節點](hybrid-activation-managed-nodes.md)中所述。您需在下列程序中指定代碼和 ID。

**在混合多雲端環境中的非 EC2 機器上安裝 SSM Agent**

1. 登入混合多雲端環境中的伺服器或虛擬機器。

1. 如果您使用 HTTP 或 HTTPS 代理伺服器，則必須在目前的 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
   ```

1. 複製以下其中一個命令區塊並貼到 SSH。將預留位置值取代為混合啟用程序期間產生的啟用碼和啟用 ID，並將 取代為 AWS 區域 您要SSM Agent從中下載的識別符，然後按 `Enter`。
**重要**  
請注意以下重要詳細資訊：  
對非 EC2 安裝使用 `ssm-setup-cli`，可最大限度地提高 Systems Manager 安裝和組態的安全性。
如果您是根使用者，則不需要 `sudo`。
`ssm-setup-cli` 從與您的混合啟用建立位置 AWS 區域 相同的 下載。
`ssm-setup-cli` 支援用於確定代理程式下載來源的 `manifest-url` 選項。除非您的組織需要，否則請勿為此選項指定值。
註冊執行個體時，請僅使用為 `ssm-setup-cli` 提供的下載連結。`ssm-setup-cli` 不應單獨存放以供日後使用。
您可以使用[此處](https://github.com/aws/amazon-ssm-agent/blob/mainline/Tools/src/setupcli_data_integrity_linux.sh)提供的指令碼來驗證 `ssm-setup-cli` 的簽章。

   *region* 代表 AWS 區域 支援的 識別符 AWS Systems Manager，例如`us-east-2`美國東部 （俄亥俄） 區域。如需支援的 *region* 值的清單，請參閱《Amazon Web Services 一般參考》**中 [Systems Manager 服務端點](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)一節的**區域**欄位。

   此外，`ssm-setup-cli` 還包括下列選項：
   + `version`：有效值為 `latest` 和 `stable`。
   + `downgrade`：允許 SSM Agent 降級至較早的版本。指定 `true` 以安裝較早版本的代理程式。
   + `skip-signature-validation`：在下載和安裝代理程式期間略過簽章驗證。

## Amazon Linux 2、RHEL 7.x 和 Oracle Linux
<a name="cent-7"></a>

```
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"
```

## RHEL 8.x
<a name="cent-8"></a>

```
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"
```

## Debian Server
<a name="deb"></a>

```
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"
```

## Ubuntu Server
<a name="ubu"></a>
+ **使用 .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://snapcraft.io/amazon-ssm-agent)下載代理程式，網址為 [https://snapcraft.io](https://snapcraft.io)。

  在 Ubuntu Server 20.04、18.04 和 16.04 LTS 上，SSM Agent 安裝程式檔案 (包括 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 商店中的*候選*頻道包含最新版本的 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 執行個體。

繼續進行[在混合 Windows Server 節點上安裝 SSM Agent](hybrid-multicloud-ssm-agent-install-windows.md)。

## 設定私有金鑰自動輪換
<a name="ssm-agent-hybrid-private-key-rotation-linux"></a>

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

**設定 SSM Agent 以輪換混合多雲端環境的私有金鑰**

1. 在 Linux 機器中導覽至 `/etc/amazon/ssm/`，或在 Windows 機器中導覽至 `C:\Program Files\Amazon\SSM`。

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

1. 查找 `Profile`、`KeyAutoRotateDays`。輸入您想要的自動私有金鑰輪換之間的天數。

1. 重新啟動 SSM Agent。

每次變更組態時，請重新啟動 SSM Agent。

您可以使用相同的程序來自訂 SSM Agent 的其他功能。如需可用組態屬性及其預設值的最新清單，請參閱[組態屬性定義](https://github.com/aws/amazon-ssm-agent#config-property-definitions)。

## 取消註冊並重新註冊受管節點 (Linux)
<a name="systems-manager-install-managed-linux-deregister-reregister"></a>

您可以從 AWS CLI 或 Tools for Windows PowerShell 呼叫 [DeregisterManagedInstance](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeregisterManagedInstance.html) API 操作，取消註冊混合啟用的受管節點。以下是範例 CLI 命令：

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

若要移除代理程式的剩餘註冊資訊，請移除 `amazon-ssm-agent.json` 檔案中的 `IdentityConsumptionOrder` 索引鍵。接著，根據您的執行個體類型，執行下列其中一個命令。

在使用 Snap 套件安裝 SSM Agent 的 Ubuntu Server 節點上：

```
sudo /snap/amazon-ssm-agent/current/amazon-ssm-agent -register -clear
```

在所有其他 Linux 安裝上：

```
amazon-ssm-agent -register -clear
```

**注意**  
只要您尚未達到指定啟用代碼和 ID 的執行個體限制，您就可以使用相同的啟用代碼和 ID，重新註冊內部部署伺服器、邊緣裝置或 VM。您可以使用 AWS CLI呼叫 [describe-activations](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-activations.html) API，來驗證啟用代碼和 ID 的執行個體限制。執行命令後，驗證 `RegistrationCount` 的值是否不超過 `RegistrationLimit`。如果超過，您必須使用其他啟用代碼和 ID。

**在非 EC2 Linux 機器上重新註冊受管節點**

1. 連線至您的機器。

1. 執行下列命令。務必使用您在建立受管節點啟用時產生的啟用代碼和啟用 ID 以及您想要從中下載 SSM Agent 的區域識別碼，取代預留位置的值。

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

## 診斷並解決在 EC2 Linux 機器上安裝 SSM Agent 的問題
<a name="systems-manager-install-managed-linux-troubleshooting"></a>

使用以下資訊，解決在[混合多雲端](operating-systems-and-machine-types.md#supported-machine-types)環境中的啟用混合模式 Linux 機器上安裝 SSM Agent 的問題。

### 您會收到 DeliveryTimedOut 錯誤
<a name="systems-manager-install-managed-linux-troubleshooting-delivery-timed-out"></a>

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

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

### 無法載入節點關聯
<a name="systems-manager-install-managed-linux-troubleshooting-associations"></a>

**問題**：執行安裝命令之後，您會在 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
```