Ansible学习,基本操作和ssh公钥免密码登录

  

Ansible基础部分
与我们将saltstack的时候会有好多的相同点,
1, Ansible的功能和saltstack有相似。
2, Ansible和saltstack使用的是相同的配置文件格式
3, Ansible没有客户端概念,我们不需要对客户端进行配置,ssh协议
YAML:是一种用来表达数据序列的编程语言。我们休息的saltstack和Ansible的配置文件都使用这个格式来定义配置文件。
(mysql)
主机=localhost
用户=根
密码=123
YAML和python具有一个特别相似的点,就是语法上层级都是受缩进影响
1, python YAML的安装
pip安装pyyaml
2, YAML的——
横杠在YAML当中起到序列的功能作用
注意YAML的横杠后面是必须要空格

  

3、YAML的:
YAML的冒号器映射关系
YAML的冒号后面必须加空格,不是为了美观

  

YAML在我们工作当中经常以他的格式定义配置问题,很好用,但是:
1,在冒号和横杠的后面必须加上空格
2,我们在工作当中,经常将我们的配置定义到一个文件当中,但是定义YAML文件的时候一定要注意缩进的时候不要用tab键,因为YAML会识别并且报错

  

Ansible的安装:
Linux本身的百胜库没有Ansible的百胜包
1,下载RPM包
RPM -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel -释放- 6 - 8. - noarch.rpm
2, yum安装Ansible - y
Ansible的基本配置
1, Ansiable的配置文件的位置,/etc/Ansible/主机
2,配置之前请至少将你要配置的服务器的思路和IP地址进行统计
服务器:192.168.0.105
Client1:192.168.0.110
Client2:192.168.0.111

  

进行测试:
ansible 192.60.0.110 - m ping

  

Ansible经常用的命令
1,命令:可以运行远程权限范围之内的所有的壳命令
命令:Ansible 192.168.0.110 - m命令——“自由-m"

  

2,脚本:可以将服务端的脚本在客户端执行
命令:ansible 192.168.0.110 - m脚本——“/根/桌面/a.py"

  

3,壳牌:可以将远程执行客户端的脚本
命令:ansible 192.168.0.111 - m壳——“python/root/Desktop/b.py"

  

我们能够如此顺利的执行命令是有前提的。就是我们ssh远程的是受信的客户端,换而言之,我们服务端保存有客户端ssh的证书。但是对于我们来说并不是所有的客户端都是这样的,所以我们借助Linux命令首先进行一下证书保存和同步。
1,形成证书
ssh - keygen rsa - t

  

2,将上面红框的文件同步到客户端
命令:
ssh-copy-id -我/root/.ssh/id_rsa.酒吧root@192.168.0.110
ssh-copy-id -我/root/.ssh/id_rsa.酒吧root@192.168.0.111

  

组管理
剧本

Ansible学习,基本操作和ssh公钥免密码登录