#coding=utf-8

importparamikoclassSSHConnection(object):def __init__(self, host, port, username, password):

self._host=host

self._port=port

self._username=username

self._password=password

self._transport=None

self._sftp=None

self._client=None

self._connect()#建立连接

def_connect(self):

transport=paramiko.Transport((self._host, self._port))

transport.connect(username=self._username, password=self._password)

self._transport=transport#下载

defdownload(self, remotepath, localpath):if self._sftp isNone:

self._sftp=paramiko.SFTPClient.from_transport(self._transport)

self._sftp.get(remotepath, localpath)#上传

defput(self, localpath, remotepath):if self._sftp isNone:

self._sftp=paramiko.SFTPClient.from_transport(self._transport)

self._sftp.put(localpath, remotepath)#执行命令

defexec_command(self, command):if self._client isNone:

self._client=paramiko.SSHClient()

self._client._transport=self._transport

stdin, stdout, stderr=self._client.exec_command(command)

data=stdout.read()if len(data) >0:print data.strip() #打印正确结果

returndata

err=stderr.read()if len(err) >0:print err.strip() #输出错误结果

returnerrdefclose(self):ifself._transport:

self._transport.close()ifself._client:

self._client.close()if __name__ == "__main__":

conn= SSHConnection('192.168.87.200', 22, 'username', 'password')

localpath= 'hello.txt'remotepath= '/home/hupeng/WorkSpace/Python/test/hello.txt'

print 'downlaod start'conn.download(remotepath, localpath)print 'download end'

print 'put begin'conn.put(localpath, remotepath)print 'put end'conn.exec_command('whoami')

conn.exec_command('cd WorkSpace/Python/test;pwd') #cd需要特别处理

conn.exec_command('pwd')

conn.exec_command('tree WorkSpace/Python/test')

conn.exec_command('ls -l')

conn.exec_command('echo "hello python" > python.txt')

conn.exec_command('ls hello') #显示错误信息

conn.close()

python ssh模块_python ssh之paramiko模块使用相关推荐

  1. python自定义模块和三方模块_python基础知识8——模块1——自定义模块和第三方开源模块...

    模块的认识 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需 ...

  2. python爬虫模块_python实现爬虫的模块总结

    网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.其本质就是利用脚本发送请求,解析响应,然后提取有用信息,最后保存下来. python由于语法简单,可 ...

  3. python必学的模块_Python必学的模块有哪些?

    展开全部 简单来说,模块就是一堆代码实现某个功32313133353236313431303231363533e4b893e5b19e31333433653866能,它们是已经写好的.py文件,在我们 ...

  4. 如何下载python模块_Python第三方库(模块)下载和安装(使用pip命令)

    进行 Python 程序开发时,除了使用 Python 内置的标准模块以及我们自定义的模块之外,还有很多第三方模块可以使用,这些第三方模块可以借助 Python官方提供的查找包页面(https://p ...

  5. python找不到os模块_Python中的OS模块:您需要知道的一切

    Python是当今业界最强大的编程语言之一.由于Python具有许多特性和强大的通用性,许多复杂的编程目标可以很容易地在Python中实现.在本文中,我们将按照以下顺序讨论Pyt Python是当今业 ...

  6. python中xlrd模块_Python中的xlrd模块使用原理解析

    on里面的xlrd模块详解(一) - 疯了的小蜗 - 博客园[内容]:> 那我就一下面积个问题对xlrd模块进行学习一下: 什么是xlrd模块? 为什么使用xlrd模块? 1.什么是xlrd模块 ...

  7. python avg函数在哪个模块_python数据处理工具–Pandas模块

    健壮的数据处理模块Pandas,能够处理数据的预处理作业,如数据类型的转化.缺失值的处理.描绘性核算分析和数据的汇总等 一.序列与数据框的结构 Pandas模块的中心操作政策为序列和数据框.序列指数据 ...

  8. python连接ssh执行模块_python ssh之paramiko模块使用

    1.安装: sudo pip install paramiko 2.连接到linux服务器 方法一: #paramiko.util.log_to_file('ssh.log') #写日志文件 clie ...

  9. python运维模块_Python 运维常用模块

    基础库:sys.os(os.path.os.stat).time.logging.prarmiko.re.random Python运维常用的20个库 1.psutil是一个跨平台库(https:// ...

最新文章

  1. 项目调试之小工具---文件名替换
  2. 独家干货 | 吴恩达深度学习专项课程精炼笔记!
  3. mysql 定时器停止_mysql事件【定时器】
  4. Python学习(二)语言基础
  5. 【SpringMVC学习07】SpringMVC中的统一异常处理
  6. Virtualbox安装Debian 安装VBoxGuestAdditions增强工具
  7. 蚁群算法原理以及应用
  8. iOS11新增的Files文件管理器应用
  9. Win10系统如何关闭防火墙?
  10. Firebug教你玩转网页小把戏!
  11. NUISTOJ/P1285 达朗贝尔的台阶
  12. 【21天算法学习】折半插入排序
  13. 计算机类毕业参考文献(java开发)
  14. 工作中遇到的问题合集
  15. 牛客观察 | 大厂疯狂招人背后: 中小企业要躺平“捡漏”吗?
  16. shopee商家入驻需要什么条件?注册虾皮shopee网店其实非常简单
  17. leetcode-算法基础-5、6、7、8
  18. “航天天域分布式数据库”获评第四届数字中国国务院国资委央企十大科技成果
  19. 文件上传 fileupload
  20. (转)PKI技术及应用开发指南

热门文章

  1. 稀疏矩阵的加,减,乘,转置
  2. 二分查找算法的C/C++实现
  3. screen的一些常用命令和快捷键
  4. python3.7安装包下载_Python 3.7下载 Python 3.7 for win32 (Python编程开发工具)官方安装版 下载-脚本之家...
  5. mongodb还不会?万字长文解析揉碎了给你讲,收藏这一篇就够了
  6. java8 两个list合并_深入介绍和使用 Java 8 的 Collector 接口和 Collectors 工具类
  7. java8与hibernate_Hibernate 使用java8 LocalDateTime 注意事项
  8. QT中三种构建菜单栏的方法
  9. QT信号(signal)和槽(slot)问题
  10. 产品研发过程管理专题——软件工程(软件目的需求开发与管理)