Ansible配置及使用
使用公私钥实现ssh无密码登录
生成公钥和私钥
ssh-keygen -t rsa
公钥相当于锁
id_rsa.pub
,私钥相当于钥匙id_rsa
借用ssh-copy-id工具实现无密码登录
ssh-copy-id -i /root/.ssh/id_rsa.pub 39.105.47.177 #公钥上传到服务器
ssh -i /root/.ssh/id_rsa 39.105.47.177 #使用对应的私钥登录服务器
Ansible配置
Ansible的默认配置文件路径是在/etc/ansible/hosts
下
创建Ansible配置文件
[root@vagrant2 local]# mkdir /etc/ansible/
[root@vagrant2 local]# touch hosts
配置Ansible配置文件
[test]
vm_01 ansible_ssh_port=22 ansible_ssh_host=127.0.0.1 ansible_ssh_pass='vagrant'
vm_02 ansible_ssh_port=10022 ansible_ssh_host=39.105.47.177 ansible_ssh_pass='sxsds231AA'
[test]
代表test主机组,vm_01
,vm_02
代表主机,属于test主机组。其余为主机IP,端口以及密码如果机器免密码都做好的话,配置文件可以省略密码配置。
使用ping模块查看在主机是否连接正常,ping模块不需要 -a 指定参数
ansible test -m ping
# test 为指定主机组,可用all参数代替,指定所有主机组主机, -m为指定ping模块用密码操作的话必须安装”sshpass“工具,yum装一下
yum install -y sshpass
,然后再来操作一下。这个大概意思说需要把主机的指纹添加到known_hosts里,命令行ssh 这个主机输入yes,将主机的指纹添加到known_hosts里。
然后再用
ansible test -m ping
查看主机是否连接正常。测试的两台主机均已联通,代表我们现在可以批量管理这两台服务器了。
Ansible命令模块
ansible的三个命令模块:command、shell、raw,这三个模块的参数就直接输入命令即可。
ansible模块command(不支持管道,不建议使用)
ansible [指定主机or主机组or全部主机] -m command -a 'shell命令'
输出两台主机的磁盘空间情况
ansible的command模块不支持管道,使用就会报错
ansible模块shell(支持管道)
ansible [指定主机or主机组or全部主机] -m shell -a 'shell命令'
ansible模块raw,最原始ssh的方式运行命令
ansible [指定主机or主机组or全部主机] -m raw -a 'shell命令'
raw指定主机安装yum
最新文章
- ADB
- AM335x kernel4.4.12 LCD 时钟翻转设置记录
- github提交代码流程:
- Nginx 多站点配置
- JS 对象遍历
- 20145213《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- java环境配置笔记
- [转]-用Gradle 构建你的android程序
- fedora gnome extension
- c语言学习之基础知识点介绍(十六):文件操作
- IOS Remote Notification
- [转] 使用Spring Boot和Gradle创建项目
- 解决外贸电商难题,PayPal中国外贸电商大会圆满礼成
- webpy
- 老男孩Python全栈学习 S9 日常作业 012
- 洛谷P2699小浩的幂次运算
- 学习Spring Boot:(一)入门
- 提升HTML5的性能体验系列之四 使用原生UI
- Docker(四)-Dcoker镜像
- GCT之数学公式(几何部分)