首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ansible 2.3.0 -没有可用的身份验证方法

ansible 2.3.0 -没有可用的身份验证方法
EN

Stack Overflow用户
提问于 2016-10-21 20:56:57
回答 2查看 10.6K关注 0票数 3

我已经在ubuntu服务器上安装了ansible,使用:

代码语言:javascript
复制
 pip install git+git://github.com/ansible/ansible.git@devel

所以我现在的版本是:

代码语言:javascript
复制
ansible 2.3.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

在配置文件中,我有:

代码语言:javascript
复制
# uncomment this to disable SSH key host checking
host_key_checking = False

当我运行ansible时,我得到:

代码语言:javascript
复制
Using /etc/ansible/ansible.cfg as config file
SSH password:

PLAYBOOK: test1.yml ************************************************************
1 plays in test1.yml

PLAY [testowy playbook] ********************************************************

TASK [show version] ************************************************************
task path: /home/mszczesniak/test1.yml:8
Using module file /usr/local/lib/python2.7/dist-packages/ansible/modules/core/network/ios/ios_command.py
<10.27.200.80> ESTABLISH LOCAL CONNECTION FOR USER: root
<10.27.200.80> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1477054111.24-214066525349846 `" && echo ansible-tmp-1477054111.24-214066525349846="` echo $HOME/.ansible/tmp/ansible-tmp-1477054111.24-214066525349846 `" ) && sleep 0'
<10.27.200.80> PUT /tmp/tmpNfII7q TO /home/mszczesniak/.ansible/tmp/ansible-tmp-1477054111.24-214066525349846/ios_command.py
<10.27.200.80> EXEC /bin/sh -c 'chmod u+x /home/mszczesniak/.ansible/tmp/ansible-tmp-1477054111.24-214066525349846/ /home/mszczesniak/.ansible/tmp/ansible-tmp-1477054111.24-214066525349846/ios_command.py && sleep 0'
<10.27.200.80> EXEC /bin/sh -c '/usr/bin/python /home/mszczesniak/.ansible/tmp/ansible-tmp-1477054111.24-214066525349846/ios_command.py; rm -rf "/home/mszczesniak/.ansible/tmp/ansible-tmp-1477054111.24-214066525349846/" > /dev/null 2>&1 && sleep 0'
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_zKWzh_/ansible_module_ios_command.py", line 237, in <module>
    main()
  File "/tmp/ansible_zKWzh_/ansible_module_ios_command.py", line 200, in main
    runner.add_command(**cmd)
  File "/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/netcli.py", line 147, in add_command
  File "/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/network.py", line 116, in cli
  File "/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/network.py", line 147, in connect
  File "/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/ios.py", line 180, in connect
  File "/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/shell.py", line 230, in connect
  File "/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/shell.py", line 100, in open
  File "/usr/lib/python2.7/dist-packages/paramiko/client.py", line 367, in connect
    look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
  File "/usr/lib/python2.7/dist-packages/paramiko/client.py", line 585, in _auth
    raise SSHException('No authentication methods available')
paramiko.ssh_exception.SSHException: No authentication methods available

fatal: [10.27.200.80]: FAILED! => {
    "changed": false,
    "failed": true,
    "invocation": {
        "module_name": "ios_command"
    },
    "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_zKWzh_/ansible_module_ios_command.py\", line 237, in <module>\n    main()\n  File \"/tmp/ansible_zKWzh_/ansible_module_ios_command.py\", line 200, in main\n    runner.add_command(**cmd)\n  File \"/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/netcli.py\", line 147, in add_command\n  File \"/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/network.py\", line 116, in cli\n  File \"/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/network.py\", line 147, in connect\n  File \"/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/ios.py\", line 180, in connect\n  File \"/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/shell.py\", line 230, in connect\n  File \"/tmp/ansible_zKWzh_/ansible_modlib.zip/ansible/module_utils/shell.py\", line 100, in open\n  File \"/usr/lib/python2.7/dist-packages/paramiko/client.py\", line 367, in connect\n    look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)\n  File \"/usr/lib/python2.7/dist-packages/paramiko/client.py\", line 585, in _auth\n    raise SSHException('No authentication methods available')\nparamiko.ssh_exception.SSHException: No authentication methods available\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE"
}
        to retry, use: --limit @/home/mszczesniak/test1.retry

PLAY RECAP *********************************************************************
10.27.200.80               : ok=0    changed=0    unreachable=0    failed=1

怎么啦?看起来配置文件中的选项没有被使用,或者在dev 2.3.0版本中有问题?

EN

回答 2

Stack Overflow用户

发布于 2017-01-29 01:22:55

如果未提供任何身份验证方法,则会引发此异常。Paramiko SSH客户端不知道要使用什么方法,因此引发了SSHException('No authentication methods available')

您应该提供密码或私钥(或两者),才能使SSHClient正常工作。否则,它就会变得毫无头绪。

一点额外的东西:

如果使用look at the code,可以看到当没有尝试过任何可能的身份验证方法时,就会引发此异常。

票数 0
EN

Stack Overflow用户

发布于 2021-09-16 17:09:39

如果我们要添加以下参数

代码语言:javascript
复制
ansible_user=rakesh
ansible_password=xxxxx

出现"unable to set terminal parameters"错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40177282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档