1.paramiko安装

1)安装PyCrypto2.6 for Python 2.7 64bit。地址:http://www.voidspace.org.uk/python/modules.shtml#pycrypto

直接双击安装

2)安装ecdsa-0.10.tar.gz,地址:https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.10.tar.gz 

解压缩后cd到目录下用python setup.py install命令安装

3)安装paramiko,地址:https://pypi.python.org/packages/source/p/paramiko/paramiko-1.12.1.tar.gz

同样用python setup.py install命令安装

2.使用paramiko远程登录到linux机器并执行命令

直接上代码

import paramiko

_default_port = 22
def ssh(cmd, ip, usernamer, passwd):
"""
远程到目标机器并执行命令,返回执行结果
"""
out = None
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(ip,_default_port,username,passwd,timeout=5)
stdin, stdout, stderr = ssh.exec_command(cmd)
out = stdout.readlines()
except Exception as e:
print 'ssh to %s\tError\n reason:%s'%(ip,e)
finally:
if ssh:
ssh.close()
return out

3.上传文件到目标机器

def upload(remotepath, localpath, ip, port, username, passwd):
t = paramiko.Transport((ip, port))
try:
t.connect(username=username,password=passwd)
sftp = paramiko.SFTPClient.from_transport(t)
sftp.put(localpath,remotepath)
except Exception as e:
print 'upload file to %s\tError\n reason:%s'%(ip,e)
finally:
if t:
t.close()

4.从目标机器下载文件

def download2(remotepath, localpath, ip, port, username, passwd):
t = paramiko.Transport((ip, port))
try:
t.connect(username=username,password=passwd)
sftp = paramiko.SFTPClient.from_transport(t)
sftp.get(remotepath,localpath)
except Exception as e:
print 'download file from %s\tError\n reason:%s'%(ip,e)
finally:
if t:
t.close()

paramiko没有直接上传下载文件夹的方法,可以用os.walk()等方法来遍历文件夹实现依次上传或下载。

使用paramiko模块远程登录并上传或下载文件的更多相关文章

  1. 通过SecureCRT向远程Linux主机上传和下载文件

    有时候直接在Linux服务器上通过 wget 或 curl 工具下截比较大的网络文件时会比较慢,这时我们通常会改用在Windows平台通过迅雷等更加现代化的下载功具下好目标文件(迅雷开会员才能更高速的 ...

  2. python ssh登录linux 上传和下载文件

    #!usr/bin/python# coding: utf-8 import paramikoimport jsonremotedir='/tmp/log'remotefile = 'bst_mana ...

  3. 11、只允许在主目录下上传和下载文件,不允许用putty登录

    创建用户xiao,   使其只允许在用户主目录 (/var/www/html)下上传和下载文件,不允许用putty登录 (为了安全起见,不给过多的权限) 1.创建xiao用户 [root@localh ...

  4. MAC上ITERM2配置SZ, RZ远程上传和下载文件

    MAC上ITERM2配置SZ, RZ远程上传和下载文件 From article 在Windows上的SecureCRT.XShell远程连接Linux服务器,通常可以使用sz.rz等命令来上传和下载 ...

  5. 每天一个linux命令(26)--用SecureCRT来上传和下载文件

    用SSH管理Linux 服务器时经常需要远程与本地之间交互文件,而直接使用 SecureCRT 自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmod ...

  6. Linux学习笔记:使用ftp命令上传和下载文件

    Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹.虽然现在有很多ftp桌面应用(例如:FlashFXP),但是在服务器.SSH.远程会话中掌握命令行ftp的使用 ...

  7. 如何在Linux中使用sFTP上传或下载文件与文件夹

    如何在Linux中使用sFTP上传或下载文件与文件夹 sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似. 然而,sFTP 比 FTP 更安全;它通过 ...

  8. 每天一个linux命令(26):用SecureCRT来上传和下载文件

    用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmodem. ...

  9. 每天一个linux命令(26):用SecureCRT来上传和下载文件(转载自竹子)

    用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmodem. ...

随机推荐

  1. React组件

    React组件 组件是React中的基本单位,在每个组件里面又封装了程序逻辑,通过reader标出界面片段或者回传一段描述,组件再通过React.renderComponent将组件展示在浏览器中.每 ...

  2. Android中使用Handler造成内存泄露

    1.什么是内存泄露? Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收.也就是说,一个对象不被任何引用 ...

  3. ACM 16进制的简单运算

    16进制的简单运算 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 现在给你一个16进制的加减法的表达式,要求用8进制输出表达式的结果.   输入 第一行输入一个正整 ...

  4. XCODE shouldAutorotateToInterfaceOrientation 对于不同版本 设备旋转不同方向时 视图的相应旋转方向的实现

    对于版本号不同的设备,旋转时视图的要做出相应的旋转,那么版本不同,代码的实现是如何的,如何对旋转方向做出限制?下面是小编的个人看法! //版本号为3.5 -5.0 -(BOOL)shouldAutor ...

  5. [BZOJ2794][Poi2012]Cloakroom

    2794: [Poi2012]Cloakroom Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 167  Solved: 119[Submit][St ...

  6. POJ 2402 Palindrome Numbers

    题目链接 水题,LA我居然没找到在那里. #include <cstdio> #include <cstring> #include <string> #inclu ...

  7. 【Eclipse】几个最重要的快捷键

    1几个最重要的快捷键    代码助手:Ctrl+Space(简体中文操作系统是Alt+/) 快速修正:Ctrl+1 单词补全:Alt+/ 打开外部Java文档:Shift+F2   显示搜索对话框:C ...

  8. 查看那个进程占用了端口号(LINUX与AIX)

    在LINUX中: netstat命令 [root@limt ~]# netstat -tulp Active Internet connections (only servers) Proto Rec ...

  9. CSS Hack汇总快查(CSS兼容代码演示)

    文章出处和来源网址:http://www.divcss5.com/css-hack/c284.shtml 以下是常用CSS HACK问题及解决代码-DIV+CSS网支持 1.屏蔽IE浏览器(也就是IE ...

  10. Oracle-表格的建立

    表格的建立,在table分列鼠标右键: 在名称写上此表格的名称,最好用英文,中文容易报错.表空间默认为user,也可以自己选择. 数据类型,一个汉字占用3个字节,最好多定义一些字节,防止出错. 可为空 ...