Python Paramiko模块的安装与使用详解

paramiko是短链接,不是持续链接,只能执行你设定的shell命令,可以加分号执行两次命令。

http://www.111cn.net/phper/python/67973.htm

tar -zxvf pycrypto-2.6.tar.gz
cd pycrypto-2.6/
python setup.py build
python setup.py install
进入python
import Crypto 看是否有报错
 
apt-get install -y python-paramiko
然后可以进入python
import paramiko看是否有报错

安装过程排错解决方案

http://blog.csdn.net/wang1144/article/details/42277179

 一、python模拟ssh密码登录

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import paramiko
import sys,os
host = '10.74.85.167'
user = 'liqian'
password = '123456'
cmd = 'ls -l'
#绑定实例
s = paramiko.SSHClient()

#加载本机.ssh/knows_hosts文件
s.load_system_host_keys()

#第一次登陆机器需要输入yes,添加完之后就不用输入
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())

#登录远程主机

s.connect(host,22,user,password,timeout=5)

#远程执行命令
stdin,stdout,stderr = s.exec_command(cmd)

#错误输出和正确输出,两者只有一个输出,要么是正确输出,要么是错误输出
cmd_result = stdout.read(),stderr.read()

#输出的结果逐行打印

for line in cmd_result:

  print line
s.close()

二、python模拟ssh免密码登录

需要将.ssh/id_rsa 拷贝到对方机器.ssh/authorized_keys中,使用私钥

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import paramiko
import sys,os
pkey_file = '/root/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(pkey_file)
host = '10.74.85.167'
user = 'root'

cmd = 'ls -l'
#绑定实例
s = paramiko.SSHClient()

#加载本机.ssh/knows_hosts文件
s.load_system_host_keys()

#第一次登陆机器需要输入yes,添加完之后就不用输入
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())

s.connect(host,22,user,pkey=key,timeout=5)
stdin,stdout,stderr = s.exec_command(cmd)
cmd_result = stdout.read(),stderr.read()
for line in cmd_result:
  print line
s.close()

三、paramiko实现sftp上传下载文件

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import paramiko
import sys,os

host = '10.74.85.167'
user = 'root'
password = '123456'

t = paramiko.Transport((host,22))
t.connect(username=user,password=password)

sftp = paramiko.SFTPClient.from_transport(t)
#sftp.get('/pythonShare/ssh.py','ssh.py.bak')  #下载
sftp.put('ssh.py.bak','/tmp/ssh.py')  #上传
t.close()

python paramiko模拟ssh登录,实现sftp上传或者下载文件的更多相关文章

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

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

  2. 使用 windows 下的 secureCRT 软件的 通过 sftp 上传和下载文件到远端 linux 设备

    secureCRT 按下ALT+P就开启新的会话进行ftp操作. 输入:help命令,显示该FTP提供所有的命令 pwd:  查询linux主机所在目录(也就是远程主机目录) lpwd: 查询本地目录 ...

  3. Java SFTP 上传、下载等操作

    Java SFTP 上传.下载等操作 实际开发中用到了 SFTP 用于交换批量数据文件,然后琢磨了下这方面的东西,基于 JSch 写了个工具类记录下,便于日后使用. JSch是 SSH2 的纯Java ...

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

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

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

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

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

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

  7. 解惑:如何使用SecureCRT上传和下载文件、SecureFX乱码问题

    解惑:如何使用SecureCRT上传和下载文件.SecureFX乱码问题 一.前言 很多时候在windows平台上访问Linux系统的比较好用的工具之一就是SecureCRT了,下面介绍一下这个软件的 ...

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

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

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

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

随机推荐

  1. 用yum源安装Nginx

    1.在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo: cd /etc/yum.repos.d/ vi nginx.repo 填写如下内容: [nginx] name= ...

  2. nodejs 实现简单的文件上传功能

    首先需要大家看一下目录结构,然后开始一点开始我们的小demo. 文件上传总计分为三种方式: 1.通过flash,activeX等第三方插件实现文件上传功能. 2.通过html的form标签实现文件上传 ...

  3. Flashbuilder 破解方式 4.6 +4.7(网络资源整理)

    Fb4.6 破解方式 安装完成后在安装目录下依次修改下列3个文件: (1).eclipse\plugins\com.adobe.flexbuilder.project_4.6.0.328916\MET ...

  4. xml文件查找重复元素(超简单版)

    使用WPS,新建一个表格文件,将xml拖入表格,点数据,选中存在重复项的列,点高亮重复项,OK.

  5. spring的校验框架 @Validated & BindingResult

    controller上写法类似这样: @RequestMapping(value = "saleInfoList.json", method = RequestMethod.GET ...

  6. spring+ibatis问题1—— 程序报错:java.sql.SQLException: Io 异常: Connection reset by peer, socket write error; ”或“java.sql.SQLException 关闭的连接”异常

    转自:http://blog.sina.com.cn/s/blog_1549fb0710102whz2.html spring+ibatis程序测试时报错:java.sql.SQLException: ...

  7. The Skyline Problem leetcode 详解

    class Solution { public: vector<pair<int, int>> getSkyline(vector<vector<int>&g ...

  8. JAVA中数组总结(课堂总结)

    数组的特点: Arrays(数组)一种简单的数据结构元素具有相同的数据类型一旦创建之后,尺寸保持不变元素在内存中连续分布例子一:按引用与按值传递的示例源代码: // PassArray.java // ...

  9. java链接mysql添加中文和模糊查询

    如下内容为转载 http://sunshinechen2008.blog.163.com/blog/static/107585374201162442643967/     mysql如果不对乱码处理 ...

  10. slf4j 之logback日志之sl4j架构【二】

    一.整体介绍 介绍: The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for v ...