Варианты платформы CNOS
CNOS поддерживает режим Enable (эскалация привилегий). Эта страница содержит подробную информацию о том, как использовать режим Enable на CNOS в Ansible.
Доступные подключения
| CLI | |
|---|---|
| Протокол | SSH |
| Непосредственный доступ | через бастион (хост перехода) |
| Формат возвращаемых данных | stdout[0]. |
Для устаревших playbooks CNOS по-прежнему поддерживает ansible_connection: local. Рекомендуется как можно скорее модернизировать до использования ansible_connection: network_cli.
Использование CLI в Ansible
Пример CLI group_vars/cnos.yml
ansible_connection: network_cli ansible_network_os: cnos ansible_user: myuser ansible_password: !vault... ansible_become: yes ansible_become_method: enable ansible_become_password: !vault... ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
- Если вы используете SSH-ключи (включая ssh-agent), вы можете удалить
ansible_passwordконфигурацию. - Если вы обращаетесь к хосту напрямую (не через бастион/хост перехода), вы можете удалить
ansible_ssh_common_argsконфигурацию. - Если вы обращаетесь к хосту через бастион/хост перехода, вы не можете включать свой SSH-пароль в
ProxyCommandдирективу. Чтобы предотвратить утечку секретов (например, вpsвыводе), SSH не поддерживает предоставление паролей через переменные окружения.
Пример задачи CLI
- name: Retreive CNOS OS version
cnos_command:
commands: show version
when: ansible_network_os == 'cnos'
Предупреждение
Никогда не храните пароли в открытом виде. Мы рекомендуем использовать SSH-ключи для аутентификации SSH-соединений. Ansible поддерживает ssh-agent для управления вашими SSH-ключами. Если вам необходимо использовать пароли для аутентификации SSH-соединений, мы рекомендуем шифровать их с помощью Ansible Vault.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/network/user_guide/platform_cnos.html