【Ansible入門】2. 安装后的操作验证(连接确认)
这次我们将对已安装Ansible的机器进行操作确认,看其是否正常运行。
运行环境
我正在Mac上使用Vagrant创建并运行以下环境。
# Ansibleを実行するマシン # 入門1にてAnsibleをインストールしたマシン
呼称:Controller
OS:CentOS6
IP: 192.168.33.11
user: vagrant
pass: vagrant
# Ansibleを実行されるマシン
呼称: Target
OS: CentOS6
IP: 192.168.33.12
user: vagrant
pass: vagrant
准备SSH密钥
由于Ansible似乎是通过SSH连接进行配置的,因此请确保控制器可以通过SSH密钥连接到目标主机。
# SSH Keyの生成
[vagrant@controller ~]$ cd .ssh/
[vagrant@controller .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa): # 何も入力せずEnter
# Targetに認証させる
[vagrant@controller .ssh]$ ssh-copy-id vagrant@192.168.33.12
vagrant@192.168.33.12's password:
Now try logging into the machine, with "ssh 'vagrant@192.168.33.12'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
应该可以用这个来登录
[vagrant@controller .ssh]$ ssh 192.168.33.12
Last login: Mon Sep 26 03:58:54 2016 from 192.168.33.1
Welcome to your Vagrant-built virtual machine.
[vagrant@target ~]$ # ログインできた!(hostnameが変わっている)
准备Ansible所需的目录等
我会参考这个并尝试进行测试连接。
[vagrant@controller ~]$ mkdir ansible
[vagrant@controller ~]$ cd ansible
[vagrant@controller ansible]$ mkdir inventory
[vagrant@controller ansible]$ vi inventory/hosts
用Vi创建的文件内容大概是这样的
[targets]
192.168.33.12
执行操作确认
[vagrant@controller ansible]$ ansible all -i inventory/hosts -m ping
192.168.33.12 | FAILED! => {
"failed": true,
"msg": "failed to resolve remote temporary directory from ansible-tmp-1474855390.1-240110546260352: `( umask 77 && mkdir -p \"` echo $HOME/.ansible/tmp/ansible-tmp-1474855390.1-240110546260352 `\" && echo ansible-tmp-1474855390.1-240110546260352=\"` echo $HOME/.ansible/tmp/ansible-tmp-1474855390.1-240110546260352 `\" )` returned empty string"
}
不行了… (Bù
公式文件中有这样的描述
Ansible will attempt to remote connect to the machines using your current user name, just like SSH would. To override the remote user name, just use the ‘-u’ parameter.
可能是因为它写着默认为当前用户名,但我觉得如果加上 -u 应该会运行,所以我试着执行了一下。
[vagrant@controller ansible]$ ansible all -i inventory/hosts -m ping -u vagrant
192.168.33.12 | SUCCESS => {
"changed": false,
"ping": "pong"
}
起动了!
我从什么时候开始误以为官方文件是正确的呢。
暫時先這樣就行了,這回就這樣結束吧。