文章出处:http://www.cnblogs.com/wupeiqi/articles/5095821.html

SSHClient

用于连接远程服务器并执行基本命令

基于用户名密码连接:

#!/usr/bin/env python3
# -*- coding:utf-8 -*- import paramiko ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname='10.245.53.85', port=23, username='Administrator', password='Aa1')
stdin, stdout, stderr = ssh.exec_command('dir') result = stdout.read() ssh.close()
# SSHClient 封装Transport
import paramiko

transport = paramiko.Transport(('hostname',22))
transport.connect(username="Administrator", password="Aa1") ssh = paramiko.SSHClient()
ssh._transport = transport stdin, stdout, stderr = ssh.exec_command('dir')
print(stdout.read())
transport.close()

基于公钥密钥连接:

#!/usr/bin/env python3
# -*- coding:utf-8 -*- import paramiko private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa') ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='localhost',port=22, username='william',password='') stdin, stdout, stderr = ssh.exec_command('df')
result = stdout.read()
ssh.close()
import paramiko

private_key = paramiko.RSAKey.from_private_key_file('hone/id_rsa')
transport = paramiko.Transport(('hostname',22))
transport.connect(username='william',pkey=private_key) ssh = paramiko.SSHClient()
ssh._transport = transport stdin, stdout, stderr = ssh.exec_command('df')
transport.close()
import paramiko
from io import StringIO key_str = """-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAq7gLsqYArAFco02/55IgNg0r7NXOtEM3qXpb/dabJ5Uyky/8
NEHhFiQ7deHIRIuTW5Zb0kD6h6EBbVlUMBmwJrC2oSzySLU1w+ZNfH0PE6W6fans
DlQC4Zb73nHgdREtQYYXTu7p27Bl0Gizz1sW2eSgxFU8eTh+ucfVwOXKAXKU5SeI
+MbuBfUYQ4if2N/BXn47+/ecf3A4KgB37Le5SbLDddwCNxGlBzbpBa0=
-----END RSA PRIVATE KEY-----""" private_key = paramiko.RSAKey(file_obj=StringIO(key_str)) transport = paramiko.Transport(('10.0.1.40',22))
transport.connect(username='william',pkey=private_key) ssh = paramiko.SSHClient()
ssh._tansport = transport stdin, stdout, stderr = ssh.exec_command('dir')
result = stdout.read() transport.close()
print(result)

SFTPClient

用于连接远程服务器并执行上传下载

基于用户名密码上传下载

#!/usr/bin/env python3
# -*- coding:utf-8 -*- import paramiko
transport = paramiko.Transport(('10.103.110.211',22))
transport.connect(username='william',password='')
sftp = paramiko.SFTPClient.from_transport(transport) sftp.get('Goal.jpg','..\homeWork') transport.close()

基于公钥密钥上传下载

import paramiko

private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')
transport = paramiko.Transport(('hostname',22))
transport.connect(username='william',pkey=private_key) sftp = paramiko.SFTPClient.from_transport(transport)
sftp.put('/william/test.py','/willian/test.py')
sftp.get('remove_path','local_path')
												

Python自学笔记-paramiko模块(Mr serven)的更多相关文章

  1. Python自学笔记-logging模块详解

    简单将日志打印到屏幕: import logging logging.debug('debug message') logging.info('info message') logging.warni ...

  2. Python自学笔记-time模块(转)

    在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平台可能有所不同 ...

  3. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  4. python远程连接paramiko 模块和堡垒机实现

    paramiko使用 paramiko模块是基于python实现了SSH2远程安全连接,支持认证和密钥方式,可以实现远程连接.命令执行.文件传输.中间SSH代理功能 安装 pip install pa ...

  5. python学习笔记五 模块下(基础篇)

    shevle 模块 扩展pickle模块... 1.潜在的陷进 >>> import shelve>>> s = shelve.open("nb" ...

  6. python学习笔记_week5_模块

    模块 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应模块名:test) 包:用来从逻辑上 ...

  7. python自学笔记(一)

    我没学过python,通过网上和一些图书资料,自学并且记下笔记. 很多细节留作以后自己做项目时再研究,这样能更高效一些. python基础自学笔记 一.基本输入和输出 pthon3.0用input提示 ...

  8. python 学习分享-paramiko模块

    paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Solaris, BS ...

  9. Python学习笔记之模块与包

    一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...

随机推荐

  1. 大道至简第一章观后感——java伪代码

    一节: public class Yugongyishan_ { //定义一个名为Yugongyishan_的类 Public static void main(string args[])   // ...

  2. NHibernate教程(18)--对象状态

    本节内容 引入 对象状态 对象状态转换 结语 引入 在程序运行过程中使用对象的方式对数据库进行操作,这必然会产生一系列的持久化类的实例对象.这些对象可能是刚刚创建并准备存储的,也可能是从数据库中查询的 ...

  3. 详解 mpls vpn 的实现

    MPLS VPN的实现 一.实验目的 该实验通过MPLS VPN的数据配置,使学生掌握路由器相关接口的IP地址设置.路由协议的配置以及MPLS VPN的完整的创建过程, 从而加深对IP网络的IP编址. ...

  4. 【Alpha阶段】第七次scrum meeting

    一.会议照片 二.会议内容 姓名 学号 负责模块 昨日任务 今日任务 杨爱清 099 界面设计和交互功能 [完成]设计界面 交互功能连接并优化 杨立鑫 100 数据库搭建和其他 [完成]将数据库与其他 ...

  5. 201521123011 《java程序设计》 第7周学习总结

    1. 本周学习总结 参考资料: XMind 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 1.2 解释E remove(int index)源 ...

  6. 201521123049 《JAVA程序设计》 第1周学习总结

    1. 本章学习总结 1.认识了新的一门计算机编程语言JAVA: 2.JAVA的编写与C语言类似,都是不能利用指针进行编写: 3.在实验课上初步认识JAVA并利用JAVA进行简单的编程,在实践上得到进一 ...

  7. 201521123019《Java程序设计》第1周学习总结

    一.本周章学习总结 1.了解了JDK和JRE的区别 2.学会用ALT+/快速写代码 3.成功安装JDK和Eclipse 4.初步了解JAVA的发展史 二.书面作业 1.为什么java程序可以跨平台运行 ...

  8. 201521123114 《Java程序设计》第12周学习总结

    1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,double ...

  9. Install Oracle 12c R2 on CentOS 7 silent

    准备工作 VMware 虚拟机 CentOS 7 17.08 系统安装包镜像 Oracle 12c R2 软件安装包 配置 yum 库并安装如下包 binutils-2.23.52.0.1-12.el ...

  10. Linux 的集中重启的方法

    linux中有下面几条命令可以实现重新启动,这些命令都需要root用户的权限: reboot shutdown -r now #立刻重启 shutdown -r #过10分钟自动重启 shutdown ...