

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

# 預設 SSH 伺服器組態
<a name="ssh-host-keys-disabled"></a>

如果您使用多年前的 SSH 用戶端，連線至執行個體時可能會看到錯誤訊息。如果錯誤告訴您找不到相符的主機金鑰類型，請更新 SSH 主機金鑰以解決此問題。

**預設停用 `ssh-rsa` 簽章**

AL2023 包含預設組態，可停用舊版`ssh-rsa`主機金鑰演算法，並產生一組減少的主機金鑰。用戶端必須支援 `ssh-ed25519` 或 `ecdsa-sha2-nistp256` 主機金鑰演算法。

預設組態接受下列任何金鑰交換演算法：
+ `curve25519-sha256`
+ `curve25519-sha256@libssh.org`
+ `ecdh-sha2-nistp256`
+ `ecdh-sha2-nistp384`
+ `ecdh-sha2-nistp521`
+ `diffie-hellman-group-exchange-sha256`
+ `diffie-hellman-group14-sha256`
+ `diffie-hellman-group16-sha512`
+ `diffie-hellman-group18-sha512`

預設情況下，AL2023 會產生 `ed25519` 和 `ECDSA` 主機金鑰。用戶端支援 `ssh-ed25519` 或 `ecdsa-sha2-nistp256` 主機金鑰演算法。當您透過 SSH 連線至執行個體時，您必須使用支援相容演算法的用戶端，例如 `ssh-ed25519` 或 `ecdsa-sha2-nistp256`。如果您需要使用其他金鑰類型，請使用使用者資料中的 `cloud-config` 片段覆寫生成的金鑰清單。

在下列範例中，`cloud-config` 使用 `ecdsa` 和 `ed25519` 金鑰產生 `rsa` 主機金鑰。

```
#cloud-config 
 ssh_genkeytypes: 
 - ed25519 
 - ecdsa 
 - rsa
```

如果您使用 RSA 金鑰對進行公開金鑰驗證，您的 SSH 用戶端必須支援 `rsa-sha2-256` 或 `rsa-sha2-512` 簽章。如果您使用不相容的用戶端且無法升級，請重新啟用執行個體的 `ssh-rsa` 支援。若要重新啟用`ssh-rsa`支援，請使用下列命令啟用`LEGACY`系統加密政策。

```
$ sudo dnf install crypto-policies-scripts
$ sudo update-crypto-policies --set LEGACY
```

如需管理主機金鑰的詳細資訊，請參閱 [Amazon Linux 主機金鑰](https://cloudinit.readthedocs.io/en/22.2.2/topics/modules.html#host-keys)。