Red Hat Training

A Red Hat training course is available for RHEL 8

2.3. SSH 系统角色变量

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

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

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

LocalForward:
  - 22 localhost:2222
  - 403 localhost:4003

呈现为:

LocalForward 22 localhost:2222
LocalForward 403 localhost:4003
注意

配置选项区分大小写。

SSH 系统角色的变量

ssh_user
您可以定义一个现有用户名,供系统角色修改用户特定的配置。用户特定配置保存在给定用户的 ~/.ssh/config 中。默认值为 null,它会修改所有用户的全局配置。
ssh_skip_defaults
默认值为 auto。如果设置为 auto,系统角色将写入系统范围的配置文件 /etc/ssh/ssh_config,并保留在其中定义的 RHEL 默认值。通过定义 ssh_drop_in_name 变量创建置入 配置文件,将自动禁用 ssh_skip_defaults 变量。
ssh_drop_in_name

定义置入配置文件的名称,该文件放置在系统范围的置入目录中。该名称在模板 /etc/ssh/ssh_config.d/{ssh_drop_in_name}.conf 中使用,以引用要修改的配置文件。如果系统不支持置入目录,则默认值为 null。如果系统支持置入目录,则默认值为 00-ansible

警告

如果系统不支持置入目录,设置此选项将使 play 失败。

建议的格式是 NN-name,其中 NN 是用于订购配置文件和 名称 的两位数字,是内容或文件所有者的任何描述性名称。

ssh
包含配置选项和对应的值的字典。
ssh_OptionName
您可以使用由 ssh_ 前缀和 选项名称而不是 dict 组成的简单变量来定义选项。简单的变量覆盖 ssh 字典中的值。
ssh_additional_packages
此角色会自动安装 opensshopenssh-clients 软件包,这是最常见的用例所需要的。如果您需要安装其他软件包,例如 openssh-keysign 以用于基于主机的身份验证,您可以在此变量中指定它们。
ssh_config_file

角色保存配置文件的路径。默认值:

  • 如果系统有一个置入目录,则默认值由模板 /etc/ssh/ssh_config.d/{ssh_drop_in_name}.conf 定义。
  • 如果系统没有置入目录,则默认值为 /etc/ssh/ssh_config
  • 如果定义了 ssh_user 变量,则默认值为 ~/.ssh/config
ssh_config_owner,ssh_config_group,ssh_config_mode
创建的配置文件的所有者、组和模式。默认情况下,文件的所有者是 root:root,模式是 0644。如果定义了 ssh_user,则模式为 0600,所有者和组派生自 ssh_user 变量中指定的用户名。