1.适用场景

  需要读取(写)多台远程机器下的一个或多个文件,如果要通过 os.system('scp ......')来完成就必须配置免密登陆,比较麻烦

2.准备工作,

  安装依赖

  pip install ssh2,

  如未安装pip可以通过网页下载ssh2.zip文件然后通过动态加载

import os
import imp os.system('unzip ssh2.zip')
imp.load_package('ssh2','./ssh2')

3.具体操作方式,

  

import socket

from odps import ODPS
from ssh2.session import Session
from datetime import date, timedelta, datetime
from ssh2.sftp import LIBSSH2_FXF_READ, LIBSSH2_SFTP_S_IRUSR sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host, 22)) session = Session()
session.handshake(sock)
session.userauth_password(user, pwd) sftp = session.sftp_init()
channel = session.open_session() channel.execute("cat demo'")
channel.wait_eof()
channel.close()
channel.wait_closed() size, data = channel.read()
files_str = unicode(data, 'utf-8')
while size > 0:
size, data = channel.read()
files_str = files_str + unicode(data, 'utf-8') print files_str

python通过ssh读写远程数据的更多相关文章

  1. python 2.7 读写 opc数据

    运行环境 python2.7+window server2008+keep server 1.安装OpenOPC a> 下载 OpenOPC-1.3.1.win32-py2.7 (1).exe  ...

  2. Python socket ssh接收大数据

    通过socket连续接收返回数据 Server服务端 import socket,os server = socket.socket() server.bind(('localhost',9999)) ...

  3. Python实现SSH连接远程服务器

    首先需要安装paramiko模块 #-*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import paramiko ssh = p ...

  4. 用Python写个自动ssh登录远程服务器的小工具

    很多时候我们喜欢在自己电脑的终端直接ssh连接Linux服务器,而不喜欢使用那些有UI界面的工具区连接我们的服务器.可是在终端使用ssh我们每次都需要输入账号和密码,这也是一个烦恼,所以我们可以简单的 ...

  5. python实现ssh远程登录

    python实现ssh远程登录 # 测试过程中,比较常用的操作就是将DUT(待测物)接入网络中,然后远程操控对DUT, # 使用SSH远程登陆到主机,然后执行相应的command即可 # python ...

  6. python操作txt文件中数据教程[1]-使用python读写txt文件

    python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = '. ...

  7. Python之读写文本数据

    知识点不多 一:普通操作  # rt 模式的 open() 函数读取文本文件 # wt 模式的 open() 函数清除覆盖掉原文件,write新文件 # at 模式的 open() 函数添加write ...

  8. rsync+inotify实现远程数据备份

    一.rsync的基本介绍 1.  什么是rsync Rsync是一款开源的.快速的.多功能的.可以实现增量的本地货远程数据镜像同步备份的优秀工具,Rsync使用与unix,linux,windows等 ...

  9. Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据

    背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...

随机推荐

  1. POJ 1401:Factorial 求一个数阶乘的末尾0的个数

    Factorial Time Limit: 1500MS   Memory Limit: 65536K Total Submissions: 15137   Accepted: 9349 Descri ...

  2. windows FTP上传

    TCHAR tcFileName[MAX_PATH * 4] = {L"visio2010永久安装密钥.txt"}; TCHAR tcName[MAX_PATH * 4] = {0 ...

  3. kubelet组件详解---链接

    https://blog.csdn.net/jettery/article/details/78891733

  4. Java连载70-冒泡算法、选择算法

    一.冒泡排序 1.也就是依次选出最大的放在最后面 package com.bjpowernode.java_learning; ​ public class D70_1_BubbleSort { pu ...

  5. nodejs(16)使用express.static快速托管静态资源

    const express = require('express') const app = express() // 步骤的拆解 const result = express.static('./v ...

  6. 查看docker的挂载目录

    docker inspect container_name | grep Mounts -A 20docker inspect container_id | grep Mounts -A 20

  7. javaweb02

    第一个web服务器程序:开发部署到Tomcat服务器下运行 1).在eclipse新建一个Javaproject2).在java项目下创建web开发的目录结构 -Webcontent -WEB-INF ...

  8. ZJNU 2354 - 进贡

    分开考虑k=1 k=2和k>=3的情况 2和3这两个质数比较特殊,遇到的话直接输出1就行 对于“神灵的不满意度为m的约数中,比m小且最大的那个”这句描述,指m除了自身和1这两个因子里找最大的那个 ...

  9. 网页时不时打不开?试试阿里DNS 233.5.5.5 /233.6..6.6

    最经上网都是用手机热点,但发现用谷歌浏览器时,时不时打不开网页.最后发现是DNS的问题,原来我的dns是8.8.8.8. 最后更改成阿里的DNS 233.5.5.5 /233.6..6.6,打开网页流 ...

  10. goahead调试经验

    一.参考网址 1.源码的github地址 2.Web开发之Goahead 二.技术细节 1.默认网页的存放目录和名称 1)目录:在main.c文件中有*rootWeb定义,如:  2)网页名:在mai ...