12.5. 将 sshd 系统角色用于非排除配置
通常,应用 sshd
系统角色会覆盖整个配置。如果您之前调整了配置,例如使用不同的系统角色或 playbook,这可能会出现问题。要只对所选配置选项应用 sshd
系统角色,同时保持其他选项,您可以使用非排除的配置。
在 RHEL 8 和更早版本中,您可以使用配置段来应用非独占配置。如需更多信息,请参阅 RHEL 9 文档中的 对非独占配置使用 SSH 服务器系统角色。
在 RHEL 9 中,您可以使用随时可访问目录中的文件来应用非独占配置。默认配置文件已放入随时可访问的目录中,存为 /etc/ssh/sshd_config.d/00-ansible_system_role.conf
。
先决条件
-
访问一个或多个 受管节点 的权限,这是您要使用
sshd
系统角色配置的系统。 对 控制节点 的访问和权限,这是 Red Hat Ansible Core 配置其他系统的系统。
在控制节点上:
-
ansible-core
软件包已安装 。 - 列出受管节点的清单文件。
- 不同 RHEL 系统角色的 playbook。
-
流程
在 playbook 中添加带有
sshd_config_file
变量的配置段:--- - hosts: all tasks: - name: <Configure sshd to accept some useful environment variables> include_role: name: rhel-system-roles.sshd vars: sshd_config_file: /etc/ssh/sshd_config.d/<42-my-application>.conf sshd: # Environment variables to accept AcceptEnv: LANG LS_COLORS EDITOR
在
sshd_config_file
变量中,定义sshd
系统角色在其中写入配置选项的.conf
文件。使用两位前缀,例如
42-
来指定应用配置文件的顺序。将 playbook 应用到清单时,角色会将以下配置选项添加到
sshd_config_file
变量定义的文件中。# Ansible managed # AcceptEnv LANG LS_COLORS EDITOR
验证
可选:验证 playbook 语法。
# ansible-playbook --syntax-check playbook.yml -i inventory_file
其他资源
-
/usr/share/doc/rhel-system-roles/sshd/README.md
文件。 -
ansible-playbook(1)
手册页。