26.6. 使用 ssh RHEL 系统角色配置 OpenSSH 客户端


您可以使用 ssh RHEL 系统角色配置多个 OpenSSH 客户端。它们可让本地用户通过确保以下内容,来与远程 OpenSSH 服务器建立一个安全连接:

  • 保护连接启动
  • 凭证置备
  • 在用来保护通信渠道的加密方法之上与 OpenSSH 服务器进行协商
  • 能够安全地向 OpenSSH 服务器发送文件和从 OpenSSH 服务器接收文件
注意

您可以将 ssh RHEL 系统角色与更改 SSH 配置的其他系统角色一起使用,如 Identity Management RHEL 系统角色。要防止配置被覆盖,请确保 ssh RHEL 系统角色使用置入目录(RHEL 8 及之后版本中的默认目录)。

先决条件

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: SSH client configuration
      hosts: managed-node-01.example.com
      tasks:
        - name: Configure ssh clients
          ansible.builtin.include_role:
            name: rhel-system-roles.ssh
          vars:
            ssh_user: root
            ssh:
              Compression: true
              GSSAPIAuthentication: no
              ControlMaster: auto
              ControlPath: ~/.ssh/.cm%C
              Host:
                - Condition: example
                  Hostname: server.example.com
                  User: user1
            ssh_ForwardX11: no

    示例 playbook 中指定的设置包括以下内容:

    ssh_user: root
    使用特定配置在受管节点上配置 root 用户的 SSH 客户端首选项。
    Compression: true
    压缩已启用。
    ControlMaster: auto
    ControlMaster 多路复用设置为 auto
    Host
    创建别名 示例,以名为 user1 的用户身份连接到 server.example.com 主机。
    ssh_ForwardX11: no
    X11 转发被禁用。

    有关 playbook 中使用的角色变量和 OpenSSH 配置选项的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.ssh/README.md 文件和 ssh_config (5) 手册页。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

验证

  • 通过显示 SSH 配置文件来验证受管节点是否有正确的配置:

    # cat ~/root/.ssh/config
    # Ansible managed
    Compression yes
    ControlMaster auto
    ControlPath ~/.ssh/.cm%C
    ForwardX11 no
    GSSAPIAuthentication no
    Host example
      Hostname example.com
      User user1

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.ssh/README.md 文件
  • /usr/share/doc/rhel-system-roles/ssh/ 目录
  • ssh_config (5) 手册页
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.