我是ansible的新手,我正在努力实现它.我尝试了互联网上存在的所有可能的方式以及与之相关的所有问题,但我仍然无法解决错误.请帮我.
我在Macbook上安装了ansible playbook.我创建了一个IP为10.4.1.141且主机IP为10.4.1.140的VM
我尝试使用主机通过ssh连接到我的VM,它通过以下命令连接:
ssh user@10.4.1.141
Run Code Online (Sandbox Code Playgroud)
我得到了shell访问权限.这意味着我的ssh工作正常.
现在我为Ansible尝试了以下命令:
ansible all -m ping
Run Code Online (Sandbox Code Playgroud)
而且内容/etc/ansible/host
是10.4.1.141
然后它显示以下错误:
10.4.1.141 | FAILED => SSH错误:权限被拒绝(公钥,密码).
连接到10.4.1.141:22时有时使用-vvvv重新运行命令很有用,它会打印SSH调试输出以帮助诊断问题.
然后我尝试在主机上的config
文件.ssh/
夹中创建文件,但错误仍然是相同的.
该config
文件的内容是:
IdentityFile ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
这是我的私钥的路径.
然后我运行相同的命令ansible all -m ping
,并再次得到相同的错误.
当我尝试另一个命令
ansible all -m ping -u user --ask-pass
Run Code Online (Sandbox Code Playgroud)
然后它询问了SSH密码,我给了它(该死密码是否正确),但是我收到了这个错误:
10.4.1.141 | FAILED => FAILED:身份验证失败.
这是使用的日志-vvvv
:
/etc/ansible/host
我仍然无法弄清楚问题是什么.在完成我的所有研究后,这是我最后的选择.我所指的最后一个链接是https://valdhaus.co/writings/ansible-mac-osx/
请帮帮我,我被卡住了.提前致谢!
Raj*_*pta 30
我解决了这个问题.问题出在我的身上/etc/ansible/hosts
.
写的内容/etc/ansible/hosts
是10.4.1.141
.但是当我把它更改rajat@10.4.1.141
为时,问题就得到解决了.
感谢大家的支持,并通过评论帮助我更清楚地了解问题.
如果您使用以下方式登录ssh user@10.4.1.141
:
选项1
然后确保在您的主机文件里面etc\ansible
有:
[server01]
10.4.1.141
Run Code Online (Sandbox Code Playgroud)
然后在etc\ansible
运行中:
ansible all -m ping -u user --ask-pass
选项2
如果要登录而不输入ssh password,则在主机文件中etc\ansible
添加:
[server01]
10.4.1.141 ansible_ssh_pass=xxx ansible_ssh_user=user
Run Code Online (Sandbox Code Playgroud)
然后在etc\ansible
运行中:
ansible all -m ping
对我来说,它有两种作用。
我的情况是我的 .ssh 中有多个私钥。
这是我通过告诉 ansible 使用某个私钥来修复它的方法
ansible-playbook -i ../../inventory.ini --private-key=~/.ssh/id_rsa_ansiadmin update.yml
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
46815 次 |
最近记录: |