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 08 Python
Python标准库之sqlite3使用实例
Nov 25 Python
用Python创建声明性迷你语言的教程
Apr 13 Python
详解Python中的条件判断语句
May 14 Python
python直接访问私有属性的简单方法
Jul 25 Python
Python基于matplotlib绘制栈式直方图的方法示例
Aug 09 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
Python多线程通信queue队列用法实例分析
Mar 24 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 Python
python性能测试工具locust的使用
Dec 28 Python
python-jwt用户认证食用教学的实现方法
Jan 19 Python
用python批量解压带密码的压缩包
May 31 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 file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
支持png透明图片的php生成缩略图类分享
2015/02/08 PHP
浅谈json_encode用法
2015/03/05 PHP
分享3个php获取日历的函数
2015/09/25 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
PHP的Yii框架中过滤器相关的使用总结
2016/03/29 PHP
PHP购物车类Cart.class.php定义与用法示例
2016/07/20 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
用js来解决ajax读取页面乱码
2010/11/28 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
Python 实现子类获取父类的类成员方法
2019/01/11 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
Delphi CS笔试题
2014/01/04 面试题
家具厂厂长岗位职责
2014/01/01 职场文书
2014全国两会心得体会
2014/03/17 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
合作协议书
2014/04/23 职场文书
一体化教学实施方案
2014/05/10 职场文书
小学生学习保证书
2015/02/26 职场文书
对公司的意见和建议
2015/06/04 职场文书