CNOS プラットフォームのオプション

CNOS は、Enable モード (権限昇格) に対応します。ここでは、Ansible の CNOS で Enalbe モードを使用する方法を説明します。

利用可能な接続

レガシー Playbook の場合でも、CNOS は ansible_connection: local に対応します。できるだけ早期に ansible_connection: network_cli を使用するモダナイゼーションが推奨されます。

Ansible での CLI の使用

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 設定を削除できます。
  • (bastion/ジャンプホスト を経由せず) ホストに直接アクセスしている場合は、ansible_ssh_common_args 設定を削除できます。
  • bastion/ジャンプホスト 経由でホストにアクセスしている場合は、SSH パスワードを ProxyCommand ディレクティブに含めることができません。(ps 出力などで) シークレットの漏えいを防ぐために、SSH は環境変数によるパスワードの提供に対応していません。

CLI タスクの例

- name:Retrieve CNOS OS version
  cnos_command:
    commands: show version
  when: ansible_network_os == 'cnos'

Warning

Never store passwords in plain text. We recommend using SSH keys to authenticate SSH connections. Ansible supports ssh-agent to manage your SSH keys. If you must use passwords to authenticate SSH connections, we recommend encrypting them with Ansible Vault.