python自动化之Ansible的安装教程


Posted in Python onJune 13, 2019

本文实例讲述了python自动化之Ansible的安装。分享给大家供大家参考,具体如下:

一 点睛

Ansible只需在管理端部署环境即可,建议采用yum源方式来实现部署。

二 安装Ansible

只需要在主服务器安装(主控端)

[root@localhost dev]# yum install ansible -y

三 测试

1 修改在主控机配置文件/etc/ansible/hosts

## green.example.com
## blue.example.com
192.168.0.101
192.168.0.102
[webservers]
## alpha.example.org
## beta.example.org
192.168.0.101
192.168.0.102

2 执行下面操作

通过ping模块测试主机的连通性,分别对单主机及组进行ping操 作,结果如下,说明安装、测试成功。

[root@localhost ansible]# ansible 192.168.0.101 -m ping -k
SSH password:
192.168.0.101 | SUCCESS => {
  "changed": false,
  "ping": "pong"
}
[root@localhost ansible]# ansible webservers -m ping -k
SSH password:
192.168.0.102 | FAILED! => {
  "msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host."
}
192.168.0.101 | SUCCESS => {
  "changed": false,
  "ping": "pong"
}

3 说明

由于主控端与被控主机未配置SSH证书信任,需要在执行ansible命令时添加-k参数,要求提供root(默认)账号密码,即在提示“SSH password:”时输入。

四 配置Linux主机SSH无密码访问

1 点睛

为了避免Ansible下发指令时输入目标主机密码,通过证书签名达到SSH无密码是一个好的方案,推荐使用ssh-keygen与ssh-copy-id来实现快速证书的生成及公钥下发,其中ssh-keygen生成一对密钥,使用sshcopy-id来下发生成的公钥。

第一步:需要配置与目标设备的密钥认证支持。

[root@localhost home]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:9/pGNxnQVWAWpss7PYtJcUDyHsCexgYY6NGWy/oOhTg root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|   o.+ .o ..*++|
|  o = . .=.=. |
|  . + . + .=.  |
|  ...o  *o +. |
| E ... So. = .o |
|  ...  . ..=+ |
|  ..   .=.o. |
|   ..  o.+ o |
|   ..  .o+ . |
+----[SHA256]-----+

私钥文件可以存放在默认路径“~/.ssh/id_rsa”。

第二步:接下来同步公钥文件id_rsa.pub到目标主机,推荐使用ssh-copy-id公钥拷贝工具

[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.102
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Kernel \r on an \m
root@192.168.0.102's password:
Number of key(s) added: 1
Now try logging into the machine, with:  "ssh 'root@192.168.0.102'"
and check to make sure that only the key(s) you wanted were added.

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python通过pil模块获得图片exif信息的方法
Mar 16 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
Python内存读写操作示例
Jul 18 Python
通过cmd进入python的实例操作
Jun 26 Python
阿里云ECS服务器部署django的方法
Aug 29 Python
python 字典的打印实现
Sep 26 Python
10行Python代码计算汽车数量的实现方法
Oct 23 Python
大家都说好用的Python命令行库click的使用
Nov 07 Python
关于Python中定制类的比较运算实例
Dec 19 Python
Python编译为二进制so可执行文件实例
Dec 23 Python
Python生成器generator原理及用法解析
Jul 20 Python
Python进程间的通信之语法学习
Apr 11 Python
PyQt5 实现给窗口设置背景图片的方法
Jun 13 #Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 #Python
Python语法分析之字符串格式化
Jun 13 #Python
pyqt5 从本地选择图片 并显示在label上的实例
Jun 13 #Python
通过pycharm使用git的步骤(图文详解)
Jun 13 #Python
Windows 安装 Anaconda3+PyCharm的方法步骤
Jun 13 #Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
Jun 13 #Python
You might like
一个更简单的无限级分类菜单代码
2007/01/16 PHP
PHP得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
csdn 博客的css样式 v3
2009/02/24 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
实例解析Array和String方法
2016/12/14 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
JS实现带动画的回到顶部效果
2017/12/28 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
初步剖析C语言编程中的结构体
2016/01/16 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
Python之NumPy(axis=0 与axis=1)区分详解
2019/05/27 Python
Pycharm github配置实现过程图解
2020/10/13 Python
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
英文商务邀请信
2014/01/22 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
sql注入教程之类型以及提交注入
2021/08/02 MySQL