Vagrant Ansible can';t用不安全的公钥ping我的流浪者盒子
我将Ansible 2.4.1.0和Vagrant 2.0.1与osx上的VirtualBox一起使用,虽然我的Vagrant box的设置在Ansible上运行良好,但在尝试ping时,我遇到了一个无法到达的错误:Vagrant Ansible can';t用不安全的公钥ping我的流浪者盒子,vagrant,ansible,ansible-inventory,Vagrant,Ansible,Ansible Inventory,我将Ansible 2.4.1.0和Vagrant 2.0.1与osx上的VirtualBox一起使用,虽然我的Vagrant box的设置在Ansible上运行良好,但在尝试ping时,我遇到了一个无法到达的错误: ➜ ansible all -m ping vagrant_django | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permis
➜ ansible all -m ping
vagrant_django | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n",
"unreachable": true
}
在类似问题上提供的解决方案对我不起作用(比如在我的ansible配置中添加流浪的不安全的pub键)。我只是无法让它使用不安全的公钥
Fwiw,这是我的ansible.cfg文件:
[defaults]
host_key_checking = False
inventory = ./ansible/hosts
roles_path = ./ansible/roles
private_key_file = ~/.vagrant.d/insecure_private_key
这是我的ansible/hosts文件(ansible目录):
所做的工作是使用我自己的SSH公钥。当我将其添加到我的流浪者箱上的授权密钥时,我可以:
➜ ansible all -m ping
vagrant_django | SUCCESS => {
"changed": false,
"failed": false,
"ping": "pong"
}
我也不能通过ssh连接,所以这似乎是潜在的问题。通过将我自己的pub密钥添加到授权的_主机中的vagrant框中,可以修复此问题
我想知道为什么它不能使用不安全的流浪钥匙。有人知道吗
PS:澄清一下,虽然根本原因与相似,但症状和背景是不同的。我可以为我的盒子提供ansible,但不能为它提供ansible。这就证明了另一个问题是正确的
我很想知道为什么流浪汉的钥匙不安全。有人知道吗
因为Vagrant不安全密钥仅用于与机箱的初始连接。默认情况下,Vagrant将其替换为新生成的密钥,您可以在项目目录下的.Vagrant/machines//virtualbox/private_key
中找到该密钥
如果您在Vagrantfile中使用Ansible provisioner,则在.vagrant/provisioners/Ansible/inventory/vagrant\u Ansible\u inventory
中还可以找到自动生成的Ansible inventory,因此您无需创建自己的Ansible provisioner
我很想知道为什么流浪汉的钥匙不安全。有人知道吗
因为Vagrant不安全密钥仅用于与机箱的初始连接。默认情况下,Vagrant将其替换为新生成的密钥,您可以在项目目录下的.Vagrant/machines//virtualbox/private_key
中找到该密钥
如果您在Vagrantfile中使用Ansible provisioner,那么您也可以在
.vagrant/provisioners/Ansible/inventory/vagrant\u Ansible\u inventory
中找到自动生成的Ansible inventory,因此您无需创建自己的Ansible provisioner。可能重复的可能重复的感谢!这确实是我错过的信息。我所需要做的就是将自动生成的库存包含在我的ansible.cfg中。我在这里的文档中也找到了它,一开始我忽略了这一点:我本可以通过使用“vagrant ssh-config”找到根本原因,谢谢!这确实是我错过的信息。我所需要做的就是将自动生成的库存包含在我的ansible.cfg中。在这里的文档中也找到了它,我一开始忽略了这一点:我本可以通过使用“vagrant ssh config”找到根本原因
➜ ansible all -m ping
vagrant_django | SUCCESS => {
"changed": false,
"failed": false,
"ping": "pong"
}