14.3. SSH 系统角色变量
在 ssh 系统角色 playbook 中,您可以根据您的首选项和限制定义客户端 SSH 配置文件的参数。
如果没有配置这些变量,系统角色会生成一个与 RHEL 默认值匹配的全局 ssh_config 文件。
在所有情况下,布尔值在 ssh 配置中都正确地呈现为 yes 或 no。您可以使用 list 来定义多行配置项。例如:
LocalForward: - 22 localhost:2222 - 403 localhost:4003
LocalForward:
- 22 localhost:2222
- 403 localhost:4003
呈现为:
LocalForward 22 localhost:2222 LocalForward 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变量来创建一个 drop-in 配置文件,将自动禁用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-
此角色会自动安装
openssh和openssh-clients软件包,这是最常见用例所需要的。如果您需要安装其他软件包,例如openssh-keysign以用于基于主机的身份验证,您可以在此变量中指定它们。 ssh_config_file角色保存产生的配置文件的路径。默认值:
-
如果系统有一个 drop-in 目录,则默认值通过模板
/etc/ssh/ssh_config.d/{ssh_drop_in_name}.conf来定义。 -
如果系统没有 drop-in 目录,则默认值为
/etc/ssh/ssh_config。 -
如果定义了
ssh_user变量,则默认值为~/.ssh/config。
-
如果系统有一个 drop-in 目录,则默认值通过模板
ssh_config_owner,ssh_config_group,ssh_config_mode-
所创建的配置文件的所有者、组和模式。默认情况下,文件的所有者是
root:root,模式是0644。如果定义了ssh_user,则模式为0600,所有者和组派生自ssh_user变量中指定的用户名。