【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"
}

起动了!

我从什么时候开始误以为官方文件是正确的呢。

暫時先這樣就行了,這回就這樣結束吧。

广告
将在 10 秒后关闭
bannerAds