Ansible备份交换机running-config遇报错:SSH连接类型无效
解决Ansible ios_command模块“Connection type ssh is not valid for this module”报错
你遇到的报错核心原因是:Cisco IOS系列模块(ios_command/ios_config)不支持默认的ssh连接类型,必须使用专门为网络设备设计的network_cli连接插件。
解决办法:
在Playbook中添加两个关键变量即可修复:
ansible_connection: network_cli:指定网络设备专用的SSH连接类型ansible_network_os: ios:明确告知Ansible目标设备是Cisco IOS平台
修改后的完整Playbook代码:
- name: Backup Cisco Switch hosts: SWITCHES gather_facts: false vars: ansible_user: myuser ansible_password: mypassword ansible_connection: network_cli ansible_network_os: ios tasks: - name: Get running config ios_command: commands: - show running-config register: config_output - name: Save running config to file copy: content: "{{ config_output.stdout[0] }}" dest: "/home/genesisjoec/Switch_Backups/{{ inventory_hostname }}-running-config.txt"
注:路径里补了一个斜杠,避免生成的文件名变成Switch_Backupsimp1-running-config.txt这种错误格式
可选优化:
如果不想把变量写在Playbook里,也可以在inventory文件中给SWITCHES组统一配置:
[SWITCHES] imp1 ansible_host=你的交换机IP [SWITCHES:vars] ansible_user=myuser ansible_password=mypassword ansible_connection=network_cli ansible_network_os=ios
内容的提问来源于stack exchange,提问作者genesisjoec
相关产品推荐
相关产品推荐

