WeOS 4 平台选项

Westermo WeOS 4 是 community.network 集合的一部分,只支持 CLI 连接。此页面提供有关如何在 Ansible 中使用 ansible.netcommon.network_cli 在 WeOS 4 上的详细信息。

可用连接

CLI

协议

SSH

凭据

如果存在,则使用 SSH 密钥/SSH 代理

如果使用密码,则接受 -u myuser -k

间接访问

通过堡垒机(跳跃主机)

连接设置

ansible_connection: community.netcommon.network_cli

启用模式
(特权提升)

WeOS 4 不支持

返回的数据格式

stdout[0].

WeOS 4 不支持 ansible_connection: local。您必须使用 ansible_connection: ansible.netcommon.network_cli

在 Ansible 中使用 CLI

示例 CLI group_vars/weos4.yml

ansible_connection: ansible.netcommon.network_cli
ansible_network_os: community.network.weos4
ansible_user: myuser
ansible_password: !vault...
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
  • 如果您使用的是 SSH 密钥(包括 ssh 代理),则可以删除 ansible_password 配置。

  • 如果您直接访问主机(不是通过堡垒机/跳跃主机),则可以删除 ansible_ssh_common_args 配置。

  • 如果您通过堡垒机/跳跃主机访问主机,则不能在 ProxyCommand 指令中包含您的 SSH 密码。为了防止机密泄露(例如在 ps 输出中),SSH 不支持通过环境变量提供密码。

示例 CLI 任务

- name: Get version information (WeOS 4)
  ansible.netcommon.cli_command:
    commands: "show version"
  register: show_ver
  when: ansible_network_os == 'community.network.weos4'

示例配置任务

- name: Replace configuration with file on ansible host (WeOS 4)
  ansible.netcommon.cli_config:
    config: "{{ lookup('file', 'westermo.conf') }}"
    replace: "yes"
    diff_match: exact
    diff_replace: config
  when: ansible_network_os == 'community.network.weos4'

警告

切勿以纯文本形式存储密码。建议使用 SSH 密钥对 SSH 连接进行身份验证。Ansible 支持 ssh 代理来管理您的 SSH 密钥。如果您必须使用密码对 SSH 连接进行身份验证,我们建议使用 Ansible Vault 对其进行加密。