重点:
- SSH免密码登录
- 使用Ansible批量下发或收集文件
- 使用Paramiko批量监控
SSH免密码登录
使用RSA非对称机密算法
Public Key 公钥
Private Key 私钥

命令:
ssh-keygen
生成密钥,公钥和私钥
ssh-copy-id
将公钥放入服务器
例子:


验证:

Ansible


配置机器列表
/etc/ansible/hosts
将机器分组,使用[]分组

ping模块,需要目标服务器安装python,raw模块执行原生的shell命令

在目标服务器安装python
ansible all -m raw -a "apt update && apt install -y python "
all 服务器分组
-m模块
-a参数
模块讲解
| 模块名称 | 作用 |
|---|---|
| raw | 执行原生shell命令 |
| ping | 检验连接服务器需安装python |
| script | 将本机的脚本文件传输的目标机上执行 |
| command | 与raw类似,但需要目标机器安装python,使用次命令可省略“-m command” |
| copy | 将本机文件复制到目标机器上 |
| file | 针对文件操作,如改变权限 |
| shell | 执行目标机器上存在的脚本 |
| fetch | 将目标机器上的文件下载回来 |
例子:
script:

copy:

file:

shell:

fetch:

src目标机器路径,dest本机路径
Paramiko
例子:
import paramiko
ssh = paramiko.SSHClient() #实例化
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #连接未知主机自动处理,不会报错
ssh.connect(hostname='192.168.88.180',username='root',password='root')
command = "free -m"
stdin stdout stderr = ssh.exec_command(command) #stdin标准输入,stdout标准输出,stderr标准错误输出
res = stdout.read().decode()
print(res)

akw过滤使用正则
最后
以上就是冷静热狗最近收集整理的关于Python自动化运维的全部内容,更多相关Python自动化运维内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复