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. HDU - Pseudoforest

    Description In graph theory, a pseudoforest is an undirected graph in which every connected componen ...

  2. 彻底弄明白之数据结构中的KMP算法

    如何加速朴素查找算法? KMP,当然还有其他算法,后续介绍.      Knuth–Morris–Pratt string search algorithm Start at LHS of strin ...

  3. 再说memcache的multiget hole(无底洞)

    关键词:multiget hole,memcache 适用于:java,php 基础知识背景: 1)multiget 是什么:     multiget 指的是从 memcache(或其他分布式缓存) ...

  4. GO语言练习:实现最简单的http helloword 服务器

    用Go语言实现一个最简单的http服务器端,主要用到了package io, log, net/http 这个3个库. 用到的函数包括: http.Handle() http.HandlerFunc( ...

  5. oracle免安装客户端设置

    对oracle不是很熟悉,就是使用层面的,开发时往往需要连接oracle,又不想单独安装,一般都用个免安装的客户端罢了,再次记录一下自用 1.下载oracle免安装的客户端 下载地址:http://w ...

  6. HTML第二节课

    表单 <form id="" name="" method="post/get" action=""> &l ...

  7. mysql主从复制过滤

    主从复制过滤: 配置文件中的[mysqld]块中: master:(考虑到即时点还原一般不在主过滤) binlog_do_db= #数据库白名单 binlog_ignore_db= #数据库白名单 s ...

  8. IIS 8 下使用 WCF

    按照以下步骤添加后,IIS8即支持WCF服务. 首先添加MIME类型 扩展名“.svc”,MIME类型 “application/octet-stream” 2. 然后在“Handler Mappin ...

  9. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

    由于方法preg_replace()为PHP 5.5.x 中废弃的特性,官方建议需要在代码中将preg_replace()替换为函数preg_replace_callback,可以问题解决. 具体请见 ...

  10. svn学习笔记(3)设置

    1.图标集