帮网站做代理,做360手机网站优化快,科技网站模板,手机做网站价格简介#xff1a; paramiko是用python语言写的一个模块#xff0c;遵循SSH2协议#xff0c;支持以加密和认证的方式#xff0c;进行远程服务器的连接。跟常用软件xshell 、xftp功能一样#xff0c;但是可以连接多台服务器#xff0c;进行复杂的操作。 安装 #xff1a; p…简介 paramiko是用python语言写的一个模块遵循SSH2协议支持以加密和认证的方式进行远程服务器的连接。跟常用软件xshell 、xftp功能一样但是可以连接多台服务器进行复杂的操作。 安装 pip install PyCrypto PyCrypto是使用Python编写的加密工具包 pip install paramiko /easy_install paramiko paramiko主要包含核心组件一个是SSHClient类另一个是SFTPClient类 一、SSHClient类的主要函数 1、Connect方法 Connect实现了远程SSH的连接并校验。 Connectself,hostname,port,username,password,pkey,key_filename,timeout,allow_agent,look_for_keys ,compress 参数含义 Hostname str :主机ip Port int 端口 Username str用户名 Password str 密码 Pkey pkey: 秘钥 Timeout float: 超时时间 Allow_agent boool :当为flase时禁用连到ssh代理 Look_for_keys bool : flase时禁用在~/.ssh中搜索秘钥文件 Compress bool : true时打开压缩。 2、exec_command方法 远程命令执行的方法 exec_command(self,command,bufsize-1) 参数 Command str :命令串 Bufsize int:文件缓冲区大小默认-1没有限制 3、load_system_host_keys 加载本地公秘钥校验文件默认为~/.ssh/known_hosts load_system_host_keys(self,filename) fielname str :制定远程主机公钥记录文件 4、set_missing_host_key_policy 连接主机没有本地主机秘钥或者HostKeys对象时策略目前支持三种AutoAddPolicy,RejectPolicy,WarningPolicy AutoAddPolicy:自动添加主机名以及主机秘钥 RejectPolicy默认自动拒绝未知的主机名和秘钥 WarningPolicy 用于记录一个未知主机秘钥的Python警告 ssh paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 5、简单案例 # -*-coding:utf-8-*- import paramiko username root password Aliyun6688xyz hostname 119.29.0.208 port 22 ssh paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 允许连接不在know_hosts文件中的主机 ssh.connect(hostname,port,username, password) stdin, stdout, stderr ssh.exec_command(uptime) print stdout.readlines() ssh.close() 二、SFTPClient类——实现远程操作文件 1、from_transport方法 创建一个已经连通的sftp客户端通道 2、put函数 上传文件到服务器 Put(self,localpath,remotepath,callbacknone,confirmnone) Localpath str : 上传文件本地源 Remotepath str : 远程路径 Callbackfunction(int,int) 获取已经接受的字节数以及总传输字节数。 Confirm bool : 文件上传完毕后是否调用start()函数以便确认文件大小。 3、get方法 从远程主机端下载文件同put 4、其他方法 Mkdir 创建目录 sftp.mkdr(‘/home/user’,0755) Remove 删除主机端指定目录 sftp.remove(‘/home/user’) Rename 从命名服务端的文件或者目录 sftp.rename(“/home/test.sh”,”/home/newtest.sh”) Listdir 获取远程SFTP服务器端指定的目录列表返回list形式 sftp.listdir(“/home”) Stat 获取远程主机指定文件信息 sftp.stat(“/home/test.sh”) 5、简单测试代码 t paramiko.Transport((hostname,port)) t.connect(username username, password password) sftp paramiko.SFTPClient.from_transport(t) remotepath/tmp/test.txt localpath/test.txt sftp.get(localpath,remotepath)# get是获取函数put函数是上传函数 t.close()转载于:https://www.cnblogs.com/ouyangxiafei/p/6096770.html