NOS 平台选项
Extreme NOS 是 community.network 集合的一部分,目前只支持 CLI 连接。 httpapi
模块可能会在将来添加。 本页提供有关如何在 Ansible 中使用 NOS 上的 ansible.netcommon.network_cli
的详细信息。
可用的连接
CLI |
|
---|---|
协议 |
SSH |
凭证 |
如果存在,则使用 SSH 密钥/SSH 代理 如果使用密码,则接受 |
间接访问 |
通过堡垒机(跳跃主机) |
连接设置 |
|
启用模式 |
NOS 不支持 |
返回的数据格式 |
|
NOS 不支持 ansible_connection: local
。 您必须使用 ansible_connection: ansible.netcommon.network_cli
。
在 Ansible 中使用 CLI
示例 CLI group_vars/nos.yml
ansible_connection: ansible.netcommon.network_cli
ansible_network_os: community.network.nos
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 (nos)
community.network.nos_command:
commands: "show version"
register: show_ver
when: ansible_network_os == 'community.network.nos'
警告
永远不要以纯文本形式存储密码。 我们建议使用 SSH 密钥进行 SSH 连接身份验证。 Ansible 支持 ssh 代理来管理您的 SSH 密钥。 如果您必须使用密码进行 SSH 连接身份验证,我们建议使用 Ansible Vault 对其进行加密。
另请参阅