12.3. SSH 系统角色变量
在 ssh
系统角色 playbook 中,您可以根据您的首选项和限制定义客户端 SSH 配置文件的参数。
如果没有配置这些变量,系统角色会生成一个与 RHEL 默认值匹配的全局 ssh_config
文件。
在所有情况下,布尔值在 ssh
配置中都正确地呈现为 yes
或 no
。您可以使用 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
-
此角色会自动安装
openssh
和openssh-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
。
-
如果系统有一个 drop-in 目录,则默认值通过模板
ssh_config_owner
,ssh_config_group
,ssh_config_mode
-
所创建的配置文件的所有者、组和模式。默认情况下,文件的所有者是
root:root
,模式是0644
。如果定义了ssh_user
,则模式为0600
,所有者和组派生自ssh_user
变量中指定的用户名。