Red Hat Training

A Red Hat training course is available for RHEL 8

第 2 章 配置与 SSH 系统角色的安全通信

作为管理员,您可以使用 SSHD 系统角色配置 SSH 服务器和 SSH 系统角色,通过使用 Red Hat Ansible Automation Platform 在任意数量的 RHEL 系统上一致地配置 SSH 客户端。

2.1. SSHD 系统角色变量

在 SSHD 系统角色 playbook 中,您可以根据您的偏好和限制定义 SSH 配置文件的参数。

如果没有配置这些变量,系统角色将生成与 RHEL 默认值匹配的 sshd_config 文件。

在所有情况下,布尔值在 sshd 配置中都正确呈现为 yesno。您可以使用 list 定义多行配置项。例如:

sshd_ListenAddress:
  - 0.0.0.0
  - '::'

呈现为:

ListenAddress 0.0.0.0
ListenAddress ::

SSHD 系统角色的变量

sshd_enable
如果设置为 False,则角色将被完全禁用。默认值为 True
sshd_skip_defaults
如果设置为 True,则系统角色不会应用默认值。相反,您可以使用 sshd dict 或 sshd _Key 变量指定完整的配置默认值集合。默认值为 False
sshd_manage_service
如果设置为 False,则服务不会被管理,这意味着它不会在引导时启用,也不会启动或重新加载。除非在容器内或 AIX 中运行,否则默认为 True,因为 Ansible 服务模块目前不支持 AIX
sshd_allow_reload
如果设置为 False,则sshd 不会在配置更改后重新加载。这可帮助进行故障排除。要应用更改后的配置,请手动重新加载 sshd。默认为与 sshd_manage_service 相同的值,但 AIX 除外,其中 sshd_manage_service 默认为 False,但 sshd_allow_reload 默认为 True
sshd_install_service

如果设置为 True,该角色将安装 sshd 服务的服务文件。这会覆盖操作系统中提供的文件。除非您要配置第二个实例,而且您还要更改 sshd_service 变量,否则不要设置为 True。默认值为 False

该角色使用以下变量指向的文件作为模板:

sshd_service_template_service (default: templates/sshd.service.j2)
sshd_service_template_at_service (default: templates/sshd@.service.j2)
sshd_service_template_socket (default: templates/sshd.socket.j2)
sshd_service
此变量更改 sshd 服务名称,这对于配置第二个 sshd 服务实例非常有用。
sshd

包含配置的字典。例如:

sshd:
  Compression: yes
  ListenAddress:
    - 0.0.0.0
sshd_OptionName

您可以使用由 sshd_ 前缀和选项名称而不是 dict 组成的简单变量来定义选项。简单的变量覆盖 sshd 字典中的值。例如:

sshd_Compression: no
sshd_matchsshd_match_1sshd_match_9
Match 部分的字典或字典列表。请注意,这些变量不会覆盖 sshd 字典中定义的匹配块。所有源都会反映在生成的配置文件中。

SSHD 系统角色的辅助变量

您可以使用这些变量覆盖与每个支持的平台对应的默认值。

sshd_packages
您可以使用此变量覆盖安装的软件包的默认列表。
sshd_config_ownersshd_config_groupsshd_config_mode
您可以使用这些变量设置此角色 生成的 openssh 配置文件的所有权和权限。
sshd_config_file
此角色保存生成的 openssh 服务器配置的路径。
sshd_binary
opensshsshd 可执行文件的路径。
sshd_service
sshd 服务的名称。默认情况下,此变量包含目标平台使用的 sshd 服务名称。当角色使用 sshd _install_service 变量时,您还可以使用它来设置自定义 sshd 服务的名称。
sshd_verify_hostkeys
默认值为 auto。当设置为 auto 时,这将列出生成的配置文件中存在的所有主机密钥,并生成所有不存在的路径。此外,权限和文件所有者被设置为默认值。如果部署阶段使用该角色来确保服务能够在第一次尝试时启动,这非常有用。若要禁用此检查,可将此变量设置为空列表 []
sshd_hostkey_owner,sshd_hostkey_group,sshd_hostkey_mode
使用这些变量设置来自 sshd_verify_hostkeys 的主机密钥的所有权和权限。
sshd_sysconfig
在基于 RHEL 的系统上,这个变量配置 sshd 服务的详情。如果设置为 true,则 此角色还根据以下配置管理 /etc/sysconfig/sshd 配置文件:默认值为 false
sshd_sysconfig_override_crypto_policy
在 RHEL 8 中,当设置为 true 时,这个变量会覆盖系统范围的加密策略。默认值为 false
sshd_sysconfig_use_strong_rng
在基于 RHEL 的系统上,此变量可以强制 sshd 重新密封 openssl 随机数字生成器,并将字节数指定为 参数。默认值为 0,它会禁用此功能。如果系统没有硬件随机数字生成器,请不要打开此项。