首页 > 编程语言 > 详细

python入门之paramiko模块

时间:2019-04-15 17:28:35      阅读:118      评论:0      收藏:0      [点我收藏+]

  paramiko用于实现ssh远程连接服务器执行相关操作。

  paramiko与之依赖模块cryptography最好版本相同,不然可能执行程序会出错。

一、ssh连接服务器执行命令

 1 import paramiko
 2 
 3 # 创建SSH对象
 4 ssh = paramiko.SSHClient()
 5 # 允许连接不在know_hosts文件里的主机,如果没有这条,第一次连接会报错
 6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 7 # 连接服务器
 8 ssh.connect(hostname="192.168.0.102",port=22,username="root",password="123456")
 9 # ssh.connect(hostname="192.168.0.102",port=22,username="root",pkey="id_rsa") 当前目录下有密钥文件,可以使用密钥安全连接
10 # 执行命令,返回标准输入,标准输出,标准错误,并不是同时有结果
11 stdin,stdout,stderr = ssh.exec_command("top")
12 # 获取命令结果,三元运算,谁有值就输出谁
13 out,err = stdout.read(),stderr.read()
14 res = out if out else err
15 print(res.decode())
16 # 关闭连接
17 ssh.close()

 

二、ssh连接服务器上传下载文件

 1 import paramiko
 2 
 3 # 建立一个连接通道
 4 transport = paramiko.Transport(("192.168.0.102",22))
 5 transport.connect(username="root",password="123456")
 6 # transport.connect(username="root",pkey="id_rsa")  当前目录下有密钥文件,可以使用密钥安全连接
 7 
 8 # 以设定的方式开始连接
 9 sftp = paramiko.SFTPClient.from_transport(transport)
10 # 上传
11 sftp.put(/data/123.txt,/opt/321.txt)
12 # 下载
13 sftp.get(/data/abc.txt,cba.txt)
14 
15 transport.close()

 

python入门之paramiko模块

原文:https://www.cnblogs.com/chy-op/p/10711768.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!