Python使用Paramiko控制liunx第三方库


Posted in Python onMay 20, 2020

paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。

Paramiko 是Python 用于控制liunx中文件的第三方库,可创建文件,修改,删除文件的内容等;

代码实例:

# -*- coding:utf-8 -*-
import paramiko
 
class ssh(object):
  def __init__(self,host,port,user,password):
    self.host = host
    self.port = port
    self.user = user
    self.password = password
    self.ssh_client = paramiko.SSHClient()
    self.ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    self.ssh_client.connect(self.host, self.port, self.user, self.password)
 
  #执行指令返回文本字符串
  def sftp_exec_command(self,command):
    arrconfiglist = [""]
    try:
      std_in, std_out, std_err = self.ssh_client.exec_command(command)
      for line in std_out:
        arrconfiglist.append(line.strip("\n"))
      del arrconfiglist[0]
      self.ssh_client.close()
      return arrconfiglist
    except Exception as e:
      print(e,"ssh ERROR")
    finally:
      self.ssh_client.close()
 
  #执行指令无返回
  def sftp_exec_norecommand(self,command):
    try:
      self.ssh_client.exec_command(command)
      self.ssh_client.close()
    except Exception as e:
      print(e,"ssh ERROR")
    finally:
      self.ssh_client.close()
 
'''
在别的项目中被调用使用如下方法
import ssh as ssh
 
if __name__ == '__main__':
  ssh.ssh().sftp_exec_command("--command information--")
'''
 
'''
if __name__ == '__main__':
  rect = ssh().sftp_exec_command("")
  print(rect)
'''

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现socket端口重定向示例
Feb 10 Python
python网络编程调用recv函数完整接收数据的三种方法
Mar 31 Python
老生常谈Python序列化和反序列化
Jun 28 Python
python 实现上传图片并预览的3种方法(推荐)
Jul 14 Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 Python
Python 保持登录状态进行接口测试的方法示例
Aug 06 Python
Pyinstaller 打包exe教程及问题解决
Aug 16 Python
python enumerate内置函数用法总结
Jan 07 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
May 18 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
Jul 20 Python
解决Pytorch半精度浮点型网络训练的问题
May 24 Python
Python语言内置数据类型
Feb 24 Python
解决django框架model中外键不落实到数据库问题
May 20 #Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 #Python
让Django的BooleanField支持字符串形式的输入方式
May 20 #Python
django 解决model中类写不到数据库中,数据库无此字段的问题
May 20 #Python
基于Python脚本实现邮件报警功能
May 20 #Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 #Python
Django 解决model 反向引用中的related_name问题
May 19 #Python
You might like
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
PHP 和 MySQL 基础教程(四)
2006/10/09 PHP
社区(php&&mysql)六
2006/10/09 PHP
php mssql 时间格式问题
2009/01/13 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
phpQuery让php处理html代码像jQuery一样方便
2015/01/06 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
Django用户身份验证完成示例代码
2020/04/03 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
一道写SQL的面试题和答案
2013/11/19 面试题
九年级化学教学反思
2014/01/28 职场文书
《再见了,亲人》教学反思
2014/02/26 职场文书
安全责任书范本
2014/04/15 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
承诺书模板
2014/08/30 职场文书
世界环境日活动总结
2015/02/11 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书
大学文艺委员竞选稿
2015/11/19 职场文书