系统批量运维工具paramiko

paramiko是实现ssh2远程安全连接的Python封装。支持认证和密钥方式,可以实现远程命令执行、文件传输等功能,对比pexpect封装的层次更高安全性高。

1、paramiko的安装

paramiko依赖第三方的Ecdsa,Crypto和Python开发工具包pyhton-devel

安装出现时出现error: command ‘gcc‘ failed with exit status 1是因为没有Python开发工具包。

2、paramiko有两个核心类SSHClient和SFTPClient

SSHClient是ssh服务器会话的高级表示,该类封装传输、通道、和SFTPClient的校验、建立的方法。

2.1>connect方法

connect(self,hostname,port=22,username=None,password=None,pkey=None,key_filename=None,timeout=None,allow_agent=True,look_for_keys=True,compress=False)

其中pkey:私钥方式用于身份验证;key_filename一个文件名或者文件名的列表用于私钥的身份验证;allow_agent设置问False时用于禁用链接到ssh代理;look_for_keys为False时禁用在~/.ssh中搜索私钥文件;compress为True时是打开压缩。

2.2>exec_command

exec_command(self,command,bufsize=-1)

2.3>load_system_host_keys

加载本地公钥校验文件,默认是~/.ssh/known_hosts

load_system_host_keys(self,filename=Noe)

2.4>set_missing_host_key_policy

设置连接的远程主机没有本地主机密钥或者HostKeys对象时的策略,目前支持三种:AutoAddPolicy,RejectPolicy,WarningPolicy

AutoAddPolicy:自动添加主机名和主机密钥到本地HostKeys对象,并将其保存,不依赖load_system_host_keys()的配置

RejectPolicy:自动拒接未知的主机名和密钥,依赖load_system_host_keys()的配置

WarningPolicy:用于记录一个未知的主机密钥的Python警告,并接受它,与AutoAddPolicy相似只是未知主机会有警告信息。

时间: 2024-10-08 15:33:32

系统批量运维工具paramiko的相关文章

Pexpect:系统批量运维管理器!!!

项目背景: 为了更好的实现我们企业的自动化运维,我们需要对pexpect模块有清晰的了解和使用能力. 实验环境: vmware workstation 11 centos6.5的系统下 pexpect服务器:192.168.0.26 远程主机:192.168.0.14 SecureCRT (ssh远程连接软件) 软件介绍 Pexpect 是一个用来启动子程序并对其进行自动控制的纯 Python 模块. Pexpect 可以用来和像 ssh.ftp.passwd.telnet 等命令行程序进行自动

系统批量运维管理器paramiko详解

一.paramiko介绍 paramiko是基于Python实现的SSH2远程安全连接,支持认证及密钥方式.可以实现远程命令执行.文件传输.中间SSH代理等功能,相对于Pexpect,封装的层次更高,更贴近SSH协议的功能 官网地址:http://www.paramiko.org/installing.html   http://docs.paramiko.org/en/2.4/   https://pypi.org/project/paramiko/ 二.paramiko安装 [email p

Fabric:系统批量运维管理器!!!

项目背景: 实验环境: vmware workstation 11 centos6.5的系统下 fabric服务器主机:ip:192.168.0.14 堡垒机:ip:192.168.0.44 目标服务器:ip:192.168.0.26 SecureCRT (ssh远程连接软件) 软件介绍: Fabric官网对于它的说明: Fabric is a Python (2.5-2.7) library and command-line tool for streamlining the use of S

轻量级批量运维工具Omnitty的安装及使用

以下是小白使用的Omnitty的安装包及其依赖包,放到了百度网盘里,供有需要的网友下载使用,里面还有一个简易的安装文档,可供参考. 链接:http://pan.baidu.com/s/1bnlYUZH 密码:hom0 1. 编译安装Omnitty的依赖包librote 小白已为大家准备好了安装包,直接下载后,编译即可. # cd /usr/local/src # tar -zxf rote-0.2.8.tar.gz # cd rote-0.2.8 # ./configure # make # m

系统批量运维管理器Fabric详解

1.fab常用的参数 fab作为Fabric程序的命令行入口,提供了丰富的参数调用,命令格式如下: fab [options] <command>[:arg1,arg2=val2,host=foo,hosts='h1;h2',...]... -l,显示定义好的任务函数名: -f,指定fab入口文件,默认入口文件名为fabfile.py: -g,指定网关(中转)设备,比如堡垒机环境,填写堡垒机IP即可: -H,指定目标主机,多台主机用","号分隔: -P,以异步并行方式运行多

系统批量运维管理器pexpect的使用

# pip install pexpect 或 # easy_install pexpect 1 #!/usr/bin/env python 2 import pexpect 3 child = pexpect.spawn('/usr/bin/scp /root/pexpect/haha 172.16.65.201:/tmp/') 4 child.expect('password:') 5 child.sendline('rootroot') 6 child.expect(pexpect.EOF

运维工具ansible理论部分

1.运维工作介绍 运维工作的全部流程: 系统安装(物理机.虚拟机)--> 程序包安装.配置.服务启动 --> 批量操作 --> 程序发布  --> 监控 随着一些大公司的IT系统架构越来越复杂,服务器数量越来越多,标准化和自动化已经是运维工作的基本要素. 自动化运维经历了4个阶段:人工,这个阶段基本上是全部需要到机器上一步步操作:脚本,使用计划任务完成一些重复性工作:工具,这个阶段一个人可以管理大量的机器,常见的工具:puppet,saltstack,ansible:平台化,这时运

自动化运维工具Ansible详细部署

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 =========================================================

运维工具ansible+cobbler+zabbix

运维工作 一.系统 硬件----部署操作系统---多个主机 如何高效的安装操作系统 1.部署在裸机上的操作系统 bare metal pxe预执行环境:网卡自身有一个rom,可以自己加载来获得IP地址,能够到文件服务器上加载bootloader文件,依赖于网卡和网络预先提供的安装服务 但是pxe只能预引导1中操作系统 二次封装的pxe:cobbler 将多版本的操作系统环境支持 * [但是都需要支持pxe] 2.虚拟机器 virtual machine * 二.程序 configurtion 自