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

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

警告

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

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

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

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

  • 如果系统有一个 drop-in 目录,则默认值通过模板 /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 变量中指定的用户名。