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")
转载于:https://www.cnblogs.com/ruiy/p/7144458.html
paramiko 模块封装相关推荐
- python连接linux服务器并使用命令_python基于paramiko模块实现远程连接Linux虚拟机(服务器)并执行指定命令返回输出结果...
对于开发者来说,windows是我们接触最多的操作系统了,但是Linux是我们必不可少的一项重要技能,很多服务或者应用都需要在Linux下运行,掌握Linux系统的基本使用也是非常重要的,今天有一个需 ...
- Python基础 - 第九天 - paramiko模块、进程、线程
本篇内容: 1.paramiko模块使用 2.进程.线程简介 3.python调用线程的方法 4.join - 等待线程执行 5.守护线程 6.GIL - 全局解释器锁 7.互斥锁 8.信号量 9.事 ...
- Python3之paramiko模块
Python3之paramiko模块 转载☞:https://www.cnblogs.com/meng-wei-zhi/p/8258674.html 参考☞:https://www.cnblogs.c ...
- python paramiko sftp_Python学习—paramiko模块实现简单的ssh与sftp
paramiko模块 paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能.这是一个第三方的软件包,使用之前需要安装. import paramiko # ssh r ...
- python paramiko模块下载_Python自动化运维实战:使用Python管理网络设备
现在,我们已经知道如何在不同的操作系统中使用和安装Python以及如何使用EVE-NG搭建网络拓扑.在本章中,我们将学习如何使用目前常用的网络自动化库自动完成各种网络任务.Python可以在不同的网络 ...
- python paramiko使用_python paramiko 模块使用方法
pythonparamiko paramiko 遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,可以实现远程文件的上传,下载或通过ssh远程执行命令.项目地址:https://gith ...
- python paramiko_Python3之paramiko模块
一. 简介 paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件 ...
- Paramiko模块(堡垒机)
Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 1.SSHClient:用于连接远程服务器并执行基本命令(Linux) (1) 基于用户名密码连接: 1 impo ...
- Python paramiko 模块详解与SSH主要功能模拟
我们知道,通过SSH服务可以远程连接到Linux服务器,查看上面的日志状态,批量配置远程服务器,文件上传,文件下载等,Python的paramiko模块同样实现了这一功能. 首先我们需要安装这一模块, ...
最新文章
- 给linux下网站目录配置SFTP
- pythonpil模块安装_centos 安装python PIL模块
- fscanf的返回值未成功输入的元素个数 .xml
- FTP协议、电子邮件系统、Telnet远程控制
- 28个Java常用的工具类
- 前端基础-git(三):git和GitHub的一些基础操作
- ROS中阶笔记(九):Movelt!机械臂控制
- 我的世界服务器改地皮生态系统,我的世界服务器怎么把地皮世界改为和平模式?...
- 如何利用 Visual Studio 自带工具提高开发效率
- 【IT】关于Code打卡机时遇到的问题及解决
- java 序列化 serialVersionUID 的作用 和 两种添加方式
- 两分钟搞懂,五花八门的门禁卡(ID卡、IC卡、CPU卡),免费复制
- 【POCKET 51】用 pocket 51学51单片机 之四:pocket 51功能模块测试
- 基于RFID定位技术的智能仓储管理系统--RFID智能仓储--新导智能
- 通过SQL注入获得网站后台用户密码
- cad管线交叉怎么画_CAD角度怎么画?我来告诉你!
- 超级计算机 人脑,迄今为止没有一部超级计算机的综合能力超过人脑
- Docker 快速学习手册及相关笔记 附带一些问题解决方案
- 界面基础设计之菜单栏
- python中表达式4**0.5的值为_int(4**0.5)