系统批量运维工具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相似只是未知主机会有警告信息。


wKiom1X1VdnRcaJKAAGmJ88WV-0704.jpg

你可能感兴趣的:(paramiko)