在使用Ansible控制自身(localhost)时,可以使用local选项

我正在使用 Vagrant 创建的 CentOS 7.x 虚拟机中复习 ansible。

由于 CentOS 7.x 默认安装的是 Ansible 1.9 版本,但如果安装 epel 软件仓库,则可以安装 2.1 版本。将在 2.1 版本中运行在 1.9 版本中创建的 *.yml 文件,一般都可以正常运行,但是会出现多种废弃警告,因此我正在努力将其改为适用于2.1版本的格式。

vagrant@localhost:/etc/ansible$ grep _warnings ansible.cfg
#system_warnings = True
#deprecation_warnings = True
command_warnings = True

現在,Vagrant 使用虛擬機(VM)時,在虛擬機一側會有一個名為 authorized_keys(*1)的公開金鑰,而在主機一側則沒有。

    (*1)…Vagrant-1.8.5 では公開鍵のパーミッションが誤っているため、修正しないと接続できません。

在Ansible中,被控制的一方不需要代理,只需要运行sshd就可以了。但是在虚拟机内,默认情况下也使用ssh连接。因此,以前为了控制自己,我们需要将private_key复制到虚拟机上。

我重新阅读手册后,发现ansible-playbook命令中有一个”-c local”选项。使用这个选项,即使没有ssh密钥,也可以执行ansible-playbook命令。

只是,总是容易忘记添加选项,每次都会

The authenticity of host 'localhost (::1)' can't be established.

如果您所说的是正确的,那么只需将localhost默认设置为本地连接就好了,这样想到后来才发现,设置已经正确配置好了。

请提供下列选项中的一个,母语为中文:

http://docs.ansible.com/ansible/intro_inventory.html#non-ssh-connection-types

http://docs.ansible.com/ansible/intro_inventory.html#非SSH连接类型

只需要一个选项,用中文翻译以下内容:仅仅将 /etc/ansible/hosts

localhost ansible_connection=local

只是写下来而已。我就变得幸福了。

广告
将在 10 秒后关闭
bannerAds