我正在尝试为Ansible使用ASA模块,并且我无法连接到设备。Ansible与思科ASA接入问题
“正常”手动ssh适用于“管理员”用户使用ASA设备。
我不断地得到这个错误Failed to connect to the host via ssh: Permission denied
望着-vvv
输出,我可以看到在执行任务时ansible正在通过PasswordAuthentication=no
。
<192.168.1.64> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/896d0497f8 192.168.1.64 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
但是我无法找到的地方,这是可以改变的模块中。任何建议?
这是我的戏:
---
- hosts: 192.168.1.64
any_errors_fatal: True
gather_facts: no
remote_user: admin
vars:
cli:
host: asav_lab
username: admin
password: "{{asa_admin_password}}"
transport: cli
authorize: yes
auth_pass: "{{asa_admin_password}}"
tasks:
- asa_command:
commands:
- show version
provider: "{{ cli }}"
详细输出:
TASK [asa_command] *****************************************************************************************************************************************************************************************
task path: /var/lib/awx/projects/platforms-ansible/asa_test_play.yaml:41
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/network/asa/asa_command.py
<192.168.1.64> ESTABLISH SSH CONNECTION FOR USER: admin
<192.168.1.64> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/896d0497f8 192.168.1.64 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<192.168.1.64> (255, '', 'ssh: connect to host 192.168.1.64 port 22: Connection refused\r\n')
fatal: [192.168.1.64]: UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ssh: connect to host 192.168.1.64 port 22: Connection refused\r\n",
"unreachable": true
}
'SSH:连接到主机192.168.1.64端口22:连接refused'指:SSH服务器不听!改变另一个工具包似乎在这种情况下完全矫枉过正:-) –
我明白你为什么会这么想,但OP在他的文章中声明:“Normal”手动ssh对于“admin”用户对ASA设备工作正常。该设备正在监听,并且引发的异常是错误的,当使用Ansible时,继续进行故障排除的麻烦更大,而这显然不适合软件的使用情况,而且,创建一个Python脚本来使用Paramiko进行网络设备管理正好有8行代码,我很难相信这是过分的。 – macattack2241
同意你的观点(虽然大多数情况下在实际情况下,我们不能改变用户现有的系统来修复它们)。 –