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网络爬虫实例讲解
Apr 28 Python
小小聊天室Python代码实现
Aug 17 Python
python如何读写json数据
Mar 21 Python
Python实现字典(dict)的迭代操作示例
Jun 05 Python
Python调用服务接口的实例
Jan 03 Python
python匿名函数用法实例分析
Aug 03 Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 Python
Python restful框架接口开发实现
Apr 13 Python
python 图像增强算法实现详解
Jan 24 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 Python
Python开发.exe小工具的详细步骤
Jan 27 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 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 COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
初识Javascript小结
2015/07/16 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
python结合API实现即时天气信息
2016/01/19 Python
python3 与python2 异常处理的区别与联系
2016/06/19 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
使用python求解二次规划的问题
2020/02/29 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
酒店服务与管理毕业生求职信
2013/11/02 职场文书
毕业生的求职信范文分享
2013/12/04 职场文书
单位单身证明范本
2014/01/11 职场文书
挂牌仪式主持词
2014/03/20 职场文书
环保项目建议书
2014/08/26 职场文书
长城导游词300字
2015/01/30 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
个人道歉信大全
2019/04/11 职场文书
Python实现为PDF去除水印的示例代码
2022/04/03 Python