Ssh Ansible:权限被拒绝(公钥、密码)
我无法连接到Ansible中的主机。这就是错误: 192.168.1.12 |遥不可及!=>{ “更改”:错误, “msg”:“错误!SSH在连接过程中遇到未知错误。建议您使用-vvv重新运行该命令,该命令 将启用SSH调试输出以帮助诊断问题“, “无法到达”:true} 这是我的Ssh Ansible:权限被拒绝(公钥、密码),ssh,ansible,Ssh,Ansible,我无法连接到Ansible中的主机。这就是错误: 192.168.1.12 |遥不可及!=>{ “更改”:错误, “msg”:“错误!SSH在连接过程中遇到未知错误。建议您使用-vvv重新运行该命令,该命令 将启用SSH调试输出以帮助诊断问题“, “无法到达”:true} 这是我的主机文件: [test] 192.168.1.12 这是特别指示: ansible all -m ping 默认情况下,我可以通过原始ssh进行连接,并且可以尝试使用ssh密钥。看来你的钥匙弄错了。尝试使用密码验证
主机
文件:
[test]
192.168.1.12
这是特别指示:
ansible all -m ping
默认情况下,我可以通过原始
ssh
进行连接,并且可以尝试使用ssh密钥。看来你的钥匙弄错了。尝试使用密码验证
ansible all-m ping——询问通行证——询问sudo通行证
我希望它能有所帮助。@bigdestropher,要设置ssh公钥,请使用此手册
- hosts: all
remote_user: root
vars:
authorized_key_list:
- name: root
authorized_keys:
- key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
state: present
roles:
- { role: GROG.authorized-key }
使用--ask pass
执行此剧本,因为您将使用它设置公钥身份验证
ansible playbook设置\u ssh.yml——询问通行证
此角色将当前用户公钥添加到远程主机授权密钥
文件
注意
ask pass
每次运行仅工作一次,因此这仅适用于具有相同密码的主机
我通常使用-limit
并在具有相同密码的主机上批量执行
例如,假设host1、host2和host3有密码foo
host4和host5bar
ansible playbook setup-ssh.yml——询问密码-l主机1、主机2、主机3
提供密码foo
ansible playbook setup-ssh.yml——询问通行证-l主机4、主机5
提供密码栏
然后
ansible-m ping主机1、主机2、主机3、主机4、主机5
您可以阅读角色文档我遇到了这个问题-我的ssh密钥设置不正确。我使用以下方法修复了此问题:
- 使用ssh-keygen命令确保每台机器都设置了ssh密钥
ssh-keygen
- 使用ssh copy id命令将公钥传递给计算机
ssh拷贝id-i
这有助于解决我的错误,希望有帮助 对于那些来这里运行Ansible 2.6的人来说,
--ask sudo pass
现在不推荐使用。正确的语法是:
ansible all -m ping --ask-pass --ask-become-pass
我通过添加
--ask pass
参数解决了这个问题是否需要更多信息、可用版本和环境,您使用什么作为虚拟机监控程序?虚拟箱?vagrant?目前听起来像是网络问题,发送ansible all-m ping-vvv的结果?您的问题标题是“权限被拒绝(公钥、密码)”,但您引用的实际错误表明完全不同。您有什么实际问题?@Kenster当我使用-vvvv选项执行命令时,会出现此错误。它起作用了。你知道如何正确设置ssh密钥吗?我也有同样的问题。有了这个提示,我无法解决它ansible-i hosts.txt all-m ping--ask pass--ask sudo pass[弃用警告]:sudo命令行选项已被弃用,取而代之的是“been”命令行参数。此功能将在版本2.9中删除。。。SSH密码:SUDO密码[默认为SSH密码]:11.0.0.108 |不可访问!=>{“changed”:false,“msg”:“无效/不正确的密码:权限被拒绝,请重试。”,“unreachable”:true}当我执行您上面所说的操作时,我遇到以下错误:错误!在/home/osboxes/roles:/home/osboxes:/etc/ansible/roles中未找到角色“GROG.authorized key”。错误似乎出现在“/home/osboxes/setup_ssh.yml”:第10行第7列,但可能在文件的其他位置,具体取决于语法问题。有问题的行似乎是:roles:-{role:GROG.authorized-key}^here@Techiee,您是否安装了该角色?如果不只是键入:ansible galaxy install GROG.authorized key
[警告]:-GROG.authorized-key未成功安装:未能从API服务器获取数据未能验证galaxy.ansible.com的SSL证书:443。确保您的托管系统安装了有效的CA证书。如果为url提供服务的网站使用SNI,您需要在托管计算机上安装python>=2.7.9,或者您可以安装urllib3
、pyopenssl
、ndg HttpSCClient
和pyasn1
python模块,以在python>=2.6中执行SNI验证。如果不需要确认服务器标识,但这是不安全的,并且看起来运行ansible的机器不符合python要求,则可以使用validate_certs=False。您正在执行哪个版本的pythonpython-V
我正在使用python2.7.6