paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,支持在远程登录服务器执行命令和上传下载文件的功能。

安装

pycrypto下载地址:

http://www.voidspace.org.uk/python/modules.shtml#pycrypto

ecdsa下载地址:

https://pypi.python.org/pypi/ecdsa/0.9

paramiko安装:pip install paramiko

登陆

基于用户名密码的SSHClient登陆

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__Author__ = 'kongZhaGen'
import paramiko # 建立SSH服务器的高级会话模式
ssh = paramiko.SSHClient()
# 允许连接不在known_hosts中的服务器
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 通过用户名及密码登陆服务器
ssh.connect(hostname='172.10.228.2', port=22, username='root', password='654321')
# 执行结果返回三个值
stdin, stdout, stderr = ssh.exec_command('df -h')
print stdout.read()
print '------------------'
print stderr.read()
ssh.close()

  结果

基于RSAKEY的SSHClient登陆

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__Author__ = 'kongZhaGen'
import paramiko # 本地可用的私钥文件路径,生成私钥时如果有密码,需要加password参数
key = paramiko.RSAKey.from_private_key_file('id_rsa.txt')
# 建立SSH服务器的高级会话模式
ssh = paramiko.SSHClient()
# 允许连接不在known_hosts中的服务器
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 通过用户名及密码登陆服务器
ssh.connect(hostname='192.168.56.41', port=22, username='root', pkey=key)
# 执行结果返回三个值
stdin, stdout, stderr = ssh.exec_command('df -h')
print stdout.read()
print '------------------'
print stderr.read()
ssh.close()

  结果

基于用户名密码的Socket连接

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__Author__ = 'kongZhaGen'
import paramiko # 初始化一个paramiko的Socket对象
trans = paramiko.Transport(('192.168.56.41', 22))
# 建立基于Socket的ssh2连接
trans.connect(username='root', password='rootroot')
# 建立SSH服务器的高级会话
ssh = paramiko.SSHClient()
# 将Socket连接赋与ssh会话
ssh._transport = trans
# 通过SSH会话执行命令
stdin, stdout,stderr = ssh.exec_command("df -h")
print stdout.read() # 会话关闭
ssh.close()
trans.close()

  

基于RSA的SOCKET连接

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__Author__ = 'kongZhaGen'
import paramiko # 私钥的本地路径
key = paramiko.RSAKey.from_private_key_file("id_rsa.txt")
# 初始化一个paramiko的Socket对象
trans = paramiko.Transport(('192.168.56.41', 22))
# 建立基于Socket的ssh2连接
trans.connect(username='root', pkey=key)
# 建立SSH服务器的高级会话
ssh = paramiko.SSHClient()
# 将Socket连接赋与ssh会话
ssh._transport = trans
# 通过SSH会话执行命令
stdin, stdout,stderr = ssh.exec_command("df -h")
print stdout.read() # 会话关闭
ssh.close()
trans.close()

  

数据传输

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__Author__ = 'kongZhaGen'
import paramiko # 私钥的本地路径
key = paramiko.RSAKey.from_private_key_file("id_rsa.txt")
# 初始化一个paramiko的Socket对象
trans = paramiko.Transport(('192.168.56.41', 22))
# 建立基于Socket的ssh2连接
trans.connect(username='root', pkey=key)
# 建立一个SFTP会话,建立一个SFTP通道,用于传输数据
sft = paramiko.SFTPClient.from_transport(trans)
# sft.put("kongtest.py","/root/kongtest.py")
sft.get('/root/install.log','install.log')
trans.close()

  

  

paramiko的安装与使用的更多相关文章

  1. python远程登录服务器(paramiko模块安装和使用)

    转自:http://www.jb51.net/article/46285.htm 一:简介 由paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器 ...

  2. python中paramiko的安装

    windows下安装并使用Python的SSH模块(paramiko+pycrypto+ecdsa) 2014-01-20 14:59 2223人阅读 评论(0) 收藏 举报 python+opens ...

  3. Python Paramiko模块安装和使用

    1.简介 大家会发现,常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了. 使用par ...

  4. paramiko 模块安装

    windows版本: 所需软件有:PyCrypto.ecdsa.paramiko. 一.软件下载地址 1.PyCrypto下载地址:  http://www.voidspace.org.uk/pyth ...

  5. paramiko库安装

    python的paramiko库用于执行ssh2连接(client和server).安装方式如下: 硬件环境:Raspberry 2B,arm,1GB RAM,16GB TF卡; 系统环境:Linux ...

  6. python第四十九天--paramiko模块安装大作战

    准备开始学习:paramiko模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 ...

  7. paramiko 模块安装和使用

    一.Centos安装Paramiko 1.安装组件 yum install openssl openssl-devel python-dev pycrypto -y yum install zlib- ...

  8. python安装paramiko模块

    一.简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...

  9. windows下python安装paramiko

    Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是 ...

随机推荐

  1. Ruby on Rails Mountable vs. Full Engine

    原文 :https://www.travisluong.com/ruby-on-rails-mountable-vs-full-engine/一个Rails Engine 本质是一个 Rails ap ...

  2. 自学C Primer Plus时还没想明白的问题

    2016年11月24日 1. 计算机中两个浮点数怎样进行加法运算.2. 为什么计算机在计算时存在损失精度的可能3. 无符号数和有符号数的运算是怎样的4. printf中使用格式控制符的截断问题,比如% ...

  3. Pipenv——最好用的python虚拟环境和包管理工具

    pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包.过去我们一般用virtualenv搭建虚拟环境,管理python版本,但是跨平台的使用不太一致,且有时候 ...

  4. HTML引入CSS样式的四种方法

    在HTML中引入CSS的方法主要有四种,它们分别是行内式.内嵌式.链接式和导入式. 1.行内式          行内式是在标记的style属性中设定CSS样式.这种方式没有体现出CSS的优势,不推荐 ...

  5. linux 查找删除找定文件

    find . -name "*.lastUpdated" -exec rm -rf {} \; 这个命令是find的基本用法,可以分两部分,find ~/ -name " ...

  6. Nginx反向代理实现会话(session)保持的两种方式 (转)

    http://blog.csdn.net/gaoqiao1988/article/details/53390352 一.ip_hash: ip_hash使用源地址哈希算法,将同一客户端的请求总是发往同 ...

  7. CSS3 颜色属性

    关键字颜色 red 十六进制颜色 #FF0000 RGB颜色   rgb(255,0,0) 新增的颜色表示方法 RGBa: RGB代表光的三原色,Red.Green和Blue CSS3中可以增加一个值 ...

  8. JAVA编写简单的日历,输入日期即可查看日历

    利用LocalDate输入年月日找出当月日历 直接上代码 import java.time.LocalDate; import java.util.Scanner; public class Cale ...

  9. java类中成员的初始化顺序(一)

    类被创建之后的成员的初始化顺序到底是怎么样的? 首先 不考虑继承 package com; public class DemoOne { /** * 关于类的初始化顺序 */ //不考虑继承结构的情况 ...

  10. 山东第四届省赛C题: A^X mod P

    http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=3232 Problem C:A^X mod P Time Limit: 5 Sec  Memor ...