zoukankan      html  css  js  c++  java
  • python ssh登录下载上传脚本

    # -*- coding: cp936 -*-
    import paramiko
    
    class SSHConnection(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
     
        #下载
        def download(self, remotepath, localpath):
            if self._sftp is None:
                self._sftp = paramiko.SFTPClient.from_transport(self._transport)
            self._sftp.get(remotepath, localpath)
     
        #上传
        def put(self, localpath, remotepath):
            if self._sftp is None:
                self._sftp = paramiko.SFTPClient.from_transport(self._transport)
            self._sftp.put(localpath, remotepath)
     
        #执行命令
        def exec_command(self, command):
            if self._client is None:
                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()   #打印正确结果
                return data
            err = stderr.read()
            if len(err) > 0:
                print err.strip()    #输出错误结果
                return err
     
        def close(self):
            if self._transport:
                self._transport.close()
            if self._client:
                self._client.close()
    #if __name__ == "__main__":
        #conn = SSHConnection('192.168.5.212', 22, 'root', '123456')
     
        #conn.exec_command('ls -l')
    
    
                
  • 相关阅读:
    深入nginx之《获取用户的真实IP》
    深入Nginx之《常用参数配置技巧》
    深入Nginx之《HTTP请求报文与HTTP响应报文》
    webapck html-loader 静态html模块化
    webpack四个基础概念
    从原生Android 跳转到hbuilder项目
    移动端适配方案 flexible.js
    vue使用px2rem
    koa2 post请求ctx.request.body空获取不到的解决办法
    url、href、src
  • 原文地址:https://www.cnblogs.com/classics/p/11378511.html
Copyright © 2011-2022 走看看