【发布时间】:2016-02-10 23:19:24
【问题描述】:
按照在线和几本书中的说明进行操作后,我不确定为什么会发生这种情况。我感觉缺少设置,但设置如下:
我正在尝试使用命令:
ansible all -u $USER -m ping -vvvv
显然使用 -vvvv 进行调试,但除了它说它正在尝试连接之外没有太多输出。我收到以下错误:
S4 | FAILED => FAILED: Authentication failed.
S4 代表交换机 4,我正在尝试自动配置并在其上显示命令的 Cisco 交换机。我知道我在 host_vars 文件中设置的密码 100% 是正确的,因为它在我从标准 SSH 客户端使用它时有效。
这是我在 ansible.cfg 文件中的非默认配置设置:
[defaults]
transport=paramiko
hostfile = ./myhosts
host_key_checking=False
timeout = 5
我的 myhosts 文件:
[cisco-switches]
S4
还有我的 S4 的 host_vars 文件:
ansible_ssh_host: 192.168.1.12
ansible_ssh_pass: password
我当前的版本是 1.9.1,在 Centos 虚拟机上运行。我确实在交换机的管理接口上应用了 ACL,但它允许来自该特定 IP 的远程连接。
请指教。
【问题讨论】:
-
你能用
-vvv运行命令来得到一些详细的错误信息吗? -
输出与我上面指定的 -vvvv 选项相同,但这里是:
<192.168.1.11> ESTABLISH CONNECTION FOR USER: username on PORT 22 TO 192.168.1.11 S4 | FAILED => FAILED: Authentication failed. -
那么就是它所说的,您不能使用该用户名和密码组合通过端口 22 从该计算机通过 SSH 连接到该交换机。
-
问题是,当我在标准 bash 上使用 ssh username@192.168.1.11 命令时,我可以毫无问题地访问我的设备。所以很明显我能够做到。我感觉这与 rsa 密钥设置有关。
标签: automation ansible cisco