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单线程实现多个定时器示例
Mar 30 Python
python动态性强类型用法实例
May 09 Python
Python文档生成工具pydoc使用介绍
Jun 02 Python
python记录程序运行时间的三种方法
Jul 14 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
tensorflow实现简单逻辑回归
Sep 07 Python
python截取两个单词之间的内容方法
Dec 25 Python
搞清楚 Python traceback的具体使用方法
May 13 Python
Python八皇后问题解答过程详解
Jul 29 Python
opencv python图像梯度实例详解
Feb 04 Python
numpy中生成随机数的几种常用函数(小结)
Aug 18 Python
pycharm最新激活码有效期至2100年(亲测可用)
Feb 05 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
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
JQuery jsonp 使用示例代码
2009/08/12 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
JS基础随笔(菜鸟必看篇)
2016/07/13 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
vue跨域解决方法
2017/10/15 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
2020/09/02 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
python中尾递归用法实例详解
2015/04/28 Python
Python装饰器语法糖
2019/01/02 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
幼儿如何来做好自我评价
2013/11/05 职场文书
2014年教师节活动总结
2014/08/29 职场文书
美术教师个人总结
2015/02/06 职场文书
会计实训总结范文
2015/08/03 职场文书