paramiko 模块封装

#!/usr/bin/env python
#coding=utf-8

import paramiko, getpass,sys,traceback

class ssh_utils():
def login_by_passwd(self, ip, port, username, passwd):
self.ip = ip
self.port = port
self.username = username
self.passwd = passwd
self.pkey = None

def login_by_key(self, username, key_path, passwd):
try:
self.pkey=paramiko.RSAKey.from_private_key_file(key_path)
except paramiko.PasswordRequiredException:
if not passwd:
passwd = getpass.getpass('RSA key password: ')
self.pkey = paramiko.RSAKey.from_private_key_file(key_path, passwd)

def ssh(self,shell):
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
if self.pkey:
ssh.connect(self.ip, self.port, self.username, compress = True, pkey= self.pkey)
else:
if not self.passwd:
self.passwd = getpass.getpass('input password: ')
ssh.connect(self.ip,self.port,self.username, self.passwd)
stdin, stdout, stderr = ssh.exec_command(shell)
res = stdout.readlines()
ssh.close()
return res
except:
type, value, tb = sys.exc_info()
return traceback.format_exception(type, value, tb)

def scp(self,localpath,remotepath):
try:
t = paramiko.Transport((self.ip,self.port))
if self.pkey:
t.connect(self.ip, self.port, self.username, pkey= self.pkey)
else:
if not self.passwd:
self.passwd = getpass.getpass('input password: ')
t.connect(username = self.username, password = self.passwd)
sftp = paramiko.SFTPClient.from_transport(t)
sftp.put(localpath,remotepath)
t.close()
return "SCP OK"
except:
type, value, tb = sys.exc_info()
return traceback.format_exception(type, value, tb)

if __name__ == '__main__':
#使用例子
myssh = ssh_utils()
myssh.login_by_passwd("192.168.11.181",22,"ahwater","Aa7.")
ret = myssh.scp('c:\\inetpub\\','d:\\sl\\')
#myssh.ssh("cd d:\ && pwd")

posted on 2017-07-10 10:04 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/ruiy/p/7144458.html

paramiko 模块封装相关推荐

  1. python连接linux服务器并使用命令_python基于paramiko模块实现远程连接Linux虚拟机(服务器)并执行指定命令返回输出结果...

    对于开发者来说,windows是我们接触最多的操作系统了,但是Linux是我们必不可少的一项重要技能,很多服务或者应用都需要在Linux下运行,掌握Linux系统的基本使用也是非常重要的,今天有一个需 ...

  2. Python基础 - 第九天 - paramiko模块、进程、线程

    本篇内容: 1.paramiko模块使用 2.进程.线程简介 3.python调用线程的方法 4.join - 等待线程执行 5.守护线程 6.GIL - 全局解释器锁 7.互斥锁 8.信号量 9.事 ...

  3. Python3之paramiko模块

    Python3之paramiko模块 转载☞:https://www.cnblogs.com/meng-wei-zhi/p/8258674.html 参考☞:https://www.cnblogs.c ...

  4. python paramiko sftp_Python学习—paramiko模块实现简单的ssh与sftp

    paramiko模块 paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能.这是一个第三方的软件包,使用之前需要安装. import paramiko # ssh r ...

  5. python paramiko模块下载_Python自动化运维实战:使用Python管理网络设备

    现在,我们已经知道如何在不同的操作系统中使用和安装Python以及如何使用EVE-NG搭建网络拓扑.在本章中,我们将学习如何使用目前常用的网络自动化库自动完成各种网络任务.Python可以在不同的网络 ...

  6. python paramiko使用_python paramiko 模块使用方法

    pythonparamiko paramiko 遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,可以实现远程文件的上传,下载或通过ssh远程执行命令.项目地址:https://gith ...

  7. python paramiko_Python3之paramiko模块

    一. 简介 paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件 ...

  8. Paramiko模块(堡垒机)

    Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 1.SSHClient:用于连接远程服务器并执行基本命令(Linux) (1) 基于用户名密码连接: 1 impo ...

  9. Python paramiko 模块详解与SSH主要功能模拟

    我们知道,通过SSH服务可以远程连接到Linux服务器,查看上面的日志状态,批量配置远程服务器,文件上传,文件下载等,Python的paramiko模块同样实现了这一功能. 首先我们需要安装这一模块, ...

最新文章

  1. 给linux下网站目录配置SFTP
  2. pythonpil模块安装_centos 安装python PIL模块
  3. fscanf的返回值未成功输入的元素个数 .xml
  4. FTP协议、电子邮件系统、Telnet远程控制
  5. 28个Java常用的工具类
  6. 前端基础-git(三):git和GitHub的一些基础操作
  7. ROS中阶笔记(九):Movelt!机械臂控制
  8. 我的世界服务器改地皮生态系统,我的世界服务器怎么把地皮世界改为和平模式?...
  9. 如何利用 Visual Studio 自带工具提高开发效率
  10. 【IT】关于Code打卡机时遇到的问题及解决
  11. java 序列化 serialVersionUID 的作用 和 两种添加方式
  12. 两分钟搞懂,五花八门的门禁卡(ID卡、IC卡、CPU卡),免费复制
  13. 【POCKET 51】用 pocket 51学51单片机 之四:pocket 51功能模块测试
  14. 基于RFID定位技术的智能仓储管理系统--RFID智能仓储--新导智能
  15. 通过SQL注入获得网站后台用户密码
  16. cad管线交叉怎么画_CAD角度怎么画?我来告诉你!
  17. 超级计算机 人脑,迄今为止没有一部超级计算机的综合能力超过人脑
  18. Docker 快速学习手册及相关笔记 附带一些问题解决方案
  19. 界面基础设计之菜单栏
  20. python中表达式4**0.5的值为_int(4**0.5)

热门文章

  1. show-busy-java-threads查找CPU占用高
  2. 利用负载均衡优化和加速HTTP应用
  3. 写一个通用数据访问组件
  4. 程序员的自我修养--链接、装载与库笔记:系统调用与API
  5. Makefile语法基础介绍
  6. Cygwin的安装及在Android jni中的简单使用举例
  7. Sobel算子及cvSobel
  8. 图像有损压缩matlab程序,基于Matlab的灰度图像DCT与RLE的混合有损压缩
  9. matplotlib 散点图和折线图画在一起_使用matplotlib.pyplot画折线图
  10. 函数的凹凸性证明_判断复杂函数的凹凸性