

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 默认 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)。