paramiko是python一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接
1、可以远程操作服务器文件

例如:
df:查看磁盘使用情况
mkdir:创建目录
mv/cp/mkdir/rmdir:对文件或目录进行操作
/sbin/service/ xxxservice start/stop/restart:启动、停止、重启某服务
netstat -ntl |grep 8080:查看8080端口的使用情况
或者 nc -zv localhost :查看所有端口的使用情况
find / -name XXX:查找某文件 等等

2、可以实现远程文件的上传,下载(类似于ssh的scp功能)

首先安装paramiko
pip install paramiko
但是安装paramiko需要先安装一个依赖包叫PyCrypto的模块。PyCrypto是python编写的加密工具包,支持的各种加密算法(主要有:MD2 128 bits;MD4 128 bits;MD5 128 bits;RIPEMD 160 bits;SHA1 160 bits;SHA256 256 bits;AES 16, 24, or 32 bytes/16 bytes;ARC2 Variable/8 bytes;Blowfish Variable/8 bytes;CAST Variable/8 bytes;DES 8 bytes/8 bytes ;DES3 (Triple DES) 16 bytes/8 bytes;IDEA 16 bytes/8 bytes ;RC5 Variable/8 bytes等等。)

具体实例代码如下:
1、实现简单的命令操作

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3
 4 import paramiko
 5
 6 #创建ssh对象
 7 ssh = paramiko.SSHClient()
 8
 9 #允许连接不在know_host中的主机
10 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
11
12 #连接服务器
13 ssh.connect(hostname='192.168.1.1',port=22,username='user',password='pwd')
14
15 #执行命令
16 stdin, stdout, stderr = ssh.exec_command('cd home;ls -l')
17
18 #执行结果
19 #result = stderr.read() #如果有错误则打印
20 result = stdout.read()
21 print result
22 #关闭连接
23 ssh.close()

2、实现远程上传

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author:Eric.yue
 4
 5 import paramiko,os
 6
 7 class Paramiko_put(object):
 8     def __init__(self,local_dir,remote_dir):
 9         self.host = '192.168.1.1'
10         self.username = 'user'
11         self.passwd = 'pwd'
12         self.port = 22
13         self.local_dir = local_dir
14         self.remote_dir = remote_dir
15         self.tt = None
16
17     def pk_connect(self):
18         self.tt = paramiko.Transport((self.host, self.port))
19         self.tt.connect(username = self.username, password = self.passwd)
20         try:
21             return paramiko.SFTPClient.from_transport(self.tt)
22         except Exception as e:
23             print 'Connect error:',e
24             exit()
25
26     def put_file(self):
27         sftp = self.pk_connect()
28         files = os.listdir(self.local_dir)
29         cnt = 0
30         for file in files:
31             sftp.put(os.path.join(self.local_dir, file), os.path.join(self.remote_dir, file))
32             cnt += 1
33
34         if cnt == len(files):
35             print str(cnt) +' files put successful'
36         else:
37             print 'put failure'
38
39     def __del__(self):
40         self.tt.close()
41
42 pk = Paramiko_put('/home/mywork/test/day8','/home/mywork/test/day8')
43 pk.put_file()

3、实现远程下载

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author:Eric.yue
 4
 5
 6 import paramiko,os
 7
 8 class Paramiko_get(object):
 9     def __init__(self,remote_dir,local_dir):
10         self.host = '192.168.1.1'
11         self.username = 'user'
12         self.passwd = 'pwd'
13         self.port = 22
14         self.local_dir = local_dir
15         self.remote_dir = remote_dir
16         self.tt = None
17
18     def pk_connect(self):
19         self.tt = paramiko.Transport((self.host, self.port))
20         self.tt.connect(username = self.username, password = self.passwd)
21         try:
22             return paramiko.SFTPClient.from_transport(self.tt)
23         except Exception as e:
24             print 'Connect error:',e
25             exit()
26
27     def get_file(self):
28         sftp = self.pk_connect()
29         files = sftp.listdir(self.remote_dir)
30         cnt = 0
31         for file in files:
32             sftp.get(os.path.join(self.remote_dir, file),os.path.join(self.local_dir, file))
33             cnt += 1
34
35         if cnt == len(files):
36             print str(cnt) +' files get successful'
37         else:
38             print 'get failure'
39
40     def __del__(self):
41         self.tt.close()
42
43 pk = Paramiko_get('/home/inf/mywork/day8','/home/mywork/day8')
44 pk.get_file()

温馨提示:实现上传下载功能时要保证目录存在,有可操作权限哦!

转载于:https://www.cnblogs.com/gide/p/6141682.html

python中paramiko模块的使用相关推荐

  1. python中paramiko模块_如何使用python中paramiko模块?

    除了我们自身使用代码,或者是运行代码,其实,如果需要用到远程控制区操控代码的时候,也不是实现不了的,因为在python里有个极好用的模块就是我们今天的主题--paramiko,利用他,我们能够远程服务 ...

  2. Python 中paramiko模块应用

    实现对 SSH 的相关功能,例如:要对服务器进行远程管理的操作,就需要使用此模块 常用方法解释说明: SSHClient:创建用于连接 ssh 服务器的实例 paramiko.AutoAddPolic ...

  3. 【Python】Paramiko模块在Windows10中import ssl报错的处理方法

    上一篇文章[Python]Paramiko模块实现Linux服务器远程文件操作 介绍了如何通过Paramiko进行 sftp的操作,但最近遇到一个问题,换上家里的windows10电脑后,执行脚本时发 ...

  4. python paramiko使用_使用python的paramiko模块实现ssh与scp功能

    #1. 介绍 这篇文章简单地介绍了python的paramiko模块的用法,paramiko实现了SSH协议,能够方便地与远程计算机交互.简单的说,就是你在terminal下执行的如下语句,现在可以通 ...

  5. python sys模块作用_浅谈Python中的模块

    模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...

  6. python中Scipy模块求取积分

    python中Scipy模块求取积分的方法: SciPy下实现求函数的积分的函数的基本使用,积分,高等数学里有大量的讲述,基本意思就是求曲线下面积之和. 其中rn可认为是偏差,一般可以忽略不计,wi可 ...

  7. python中的time库安装步骤-python中time模块需要安装么

    time是python自带的模块,用于处理时间问题,提供了一系列的操作时间的函数. time模块中时间表现的格式主要有三种:(推荐学习:Python视频教程) timestamp时间戳,是以秒表示从& ...

  8. 关于python中requests模块导入问题-python中requests模块的使用方法

    本文实例讲述了python中requests模块的使用方法.分享给大家供大家参考.具体分析如下: 在HTTP相关处理中使用python是不必要的麻烦,这包括urllib2模块以巨大的复杂性代价获取综合 ...

  9. python哪里下载import包-详解python中的模块及包导入

    python中的导入关键字:import 以及from import 1.import import一般用于导入包以及模块. 不过有个小问题: (1)当导入的是模块的时候是可以直接可以使用模块内的函数 ...

最新文章

  1. 列出所有已安装的perl模块
  2. SQL Server 表分区实战系列(文章索引)
  3. 社区网站功能实现系列(三):社区页面无刷新回发的一种实现方式
  4. Centos 配置多个虚拟IP
  5. 刷题刷题 ——网易CPP
  6. php mysql5.7.110安装教程_CentOS7安装配置Nginx1.10、PHP5.6、MySQL5.7教程
  7. ZYNQ图像处理(7)——sobel边缘检测
  8. 在Ogre中实现Mpq文件格式的支持
  9. debian7系统设置固定IP
  10. 喜报 | 天空卫士被评为北京市专精特新“小巨人”企业
  11. 手机chrome禁止加载图片
  12. XRouter 一个轻量级的Android路由框架,基于ARouter上进行改良,优化Fragment的使用,可结合XPage使用
  13. 关于MPO光纤连接器你知道哪些?
  14. 添加离线地图服务(搭建内网地图服务)
  15. AIX PowerPC体系结构及其溢出技术学习笔记(转)
  16. 前端页面制作滚动字幕
  17. RT-Thread Studio 红外Infrared使用笔记
  18. Windows 10开启ISS Web服务
  19. 【学堂在线】清华数据结构 OJ小记录
  20. 美团民宿-“你的民宿,你做主”活动增长主题策划方案1.0

热门文章

  1. Python enum的使用总结
  2. bp神经网络预测_股指期货价格变动趋势往往反映的是股票价格的走势,因此BP神经网络对股指期货价格的准确预测就是对股票价格的准确预测。...
  3. socket.io跨域踩坑
  4. LeetCode 2171. 拿出最少数目的魔法豆(排序)
  5. 天池 在线编程 高效作业处理服务(01背包DP)
  6. LeetCode 244. 最短单词距离 II(哈希map+set二分查找)
  7. html5 职工入职后台管理系统_ChemCMS是一款基于GO+PHP+MYSQL+HTML5构建的化学内容管理系统
  8. 前端:实现手机左右滑动效果
  9. Django创建图书管理项目(完整版
  10. python 经典100例(1-20)