paramiko是实现ssh3远程安全连接的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相似只是未知主机会有警告信息。