远程连接概述:
在我们开始前要先理解Ansible是如何通过SSH与远程服务器连接是很重要的:
你第一条命令:
现在你已经按照了Ansible,是时候从一些基本知识开始了,编辑(或创建)/etc/ansible/hosts并在其中
加入一个或多个远程系统,你的public SSH Key 必须在这些系统的``authorized_keys``中:
[root@node01 ansible]# cat /etc/ansible/hosts
192.168.137.3
[root@node01 ansible]# ansible all -m ping
192.168.137.3 | SUCCESS => {
"changed": false,
"failed": false,
"ping": "pong"
}
[root@node01 ansible]#
!检测机器是否可登录,ping模块不需要传送参数
!注:这里的ping模块并非调用了系统的ping命令,而是类似于登录到远程机器再echo出一个信息。
-m MODULE_NAME, --module-name=MODULE_NAME
[root@node01 ansible]# ansible 192.168.137.3 -m ping
192.168.137.3 | SUCCESS => {
"changed": false,
"failed": false,
"ping": "pong"
}
在192.168.137.3 会输出信息:
Oct 4 20:15:19 node2 ansible-ping: Invoked with data=pong
Options:
-a MODULE_ARGS, --args=MODULE_ARGS
module arguments
[root@node01 ansible]# ansible 192.168.137.3 -a "df -h"
192.168.137.3 | SUCCESS | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 13G 5.3G 71% /
tmpfs 497M 0 497M 0% /dev/shm
/dev/sda1 194M 29M 155M 16% /boot
公钥认证:
Ansible1.2.1及其之后的版本都会默认启用公钥认证:
[root@node01 ansible]# ansible all -m ping
192.168.137.1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ",
"unreachable": true
}
192.168.137.3 | SUCCESS => {
"changed": false,
"failed": false,
"ping": "pong"
}
115.236.19.4 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ssh: connect to host 115.236.19.4 port 22: Connection timed out
",
"unreachable": true
}