Windows系统下安装Python的SSH模块教程


Posted in Python onFebruary 05, 2015

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

1、安装pyCrypto

安装这个比较麻烦,需要本地编译,要装vs或gcc还有一堆配置,还不一定能编译成功。(网上能搜到安装步骤)
建议直接下载已编译版: http://www.voidspace.org.uk/python/modules.shtml#pycrypto
直接下载并安装既可。
(注:crypto有java和C++版)

2、安装ecdsa

看很多博客没有提到这个库,但我执行paramiko时,提示找不到ecdsa模块。
下载:https://pypi.python.org/pypi/ecdsa/0.9 ,解压到一个目录,目录中有一个setup.py。
安装比较简单,windows下直接在刚才解压后的目录执行:python setup.py install

3.安装paramiko

与安装ecdsa类型,只是打开下载页面很慢。。。

下载: https://github.com/paramiko/paramiko#,

安装步骤同ecdsa

注:1、所有另外安装的第三方库,如果不特指定安装后库目录的话,将默认保存到 %PYTHON_HOME%\Lib\site-packages下。

2、python大小写敏感,对模块名也是。

3、Crypto可以提供常见的加解密算法,如:RSA、RC4、DSA、DES

测试代码:

#!/usr/bin/python

# -*- coding:utf-8 -*-

# cp@chenpeng.info
import paramiko
def MAIN():
    host = “10.1.1.1″

    port = 22

    user = “root”

    pswd = “111222333″
    ssh = paramiko.SSHClient()

    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    ssh.connect(host, port, user, pswd)

    stdin, stdout, stderr = ssh.exec_command(‘ifconfig')

    print stdout.read()

    ssh.close()

#
if __name__=='__main__':

    try:

        MAIN()

    except Exception,e:

        print e

 
输出如下:

Windows系统下安装Python的SSH模块教程

目前主要用于批量执行多个服务器的ssh命令,批量维护比较方便。

下面是两种使用paramiko连接到linux服务器的代码

方式一:

ssh = paramiko.SSHClient() 

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 

ssh.connect("某IP地址",22,"用户名", "口令")

上面的第二行代码的作用是允许连接不在know_hosts文件中的主机

方式二:

t = paramiko.Transport(("主机","端口")) 

t.connect(username = "用户名", password = "口令")

如果连接远程主机需要提供密钥,上面第二行代码可改成:
t.connect(username = "用户名", password = "口令", hostkey="密钥")

例子:
#!/usr/bin/python   

import paramiko 

  

ssh = paramiko.SSHClient() 

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 

ssh.connect("某IP地址",22,"用户名", "口令") 

stdin, stdout, stderr = ssh.exec_command("你的命令")print stdout.readlines() 

ssh.close()

下载linux服务器上的文件
#!/usr/bin/python   

import paramiko 

  

t = paramiko.Transport(("主机","端口")) 

t.connect(username = "用户名", password = "口令") 

sftp = paramiko.SFTPClient.from_transport(t) 

remotepath='/var/log/system.log' 

localpath='/tmp/system.log' 

sftp.get(remotepath, localpath) 

t.close()

上传文件到linux服务器
#!/usr/bin/python   

import paramiko 

 

t = paramiko.Transport(("主机","端口")) 

t.connect(username = "用户名", password = "口令") 

sftp = paramiko.SFTPClient.from_transport(t) 

remotepath='/var/log/system.log' 

localpath='/tmp/system.log' 

sftp.put(localpath,remotepath) 

t.close()
Python 相关文章推荐
python正则匹配抓取豆瓣电影链接和评论代码分享
Dec 27 Python
深入解析Python中函数的参数与作用域
Mar 20 Python
Python中的os.path路径模块中的操作方法总结
Jul 07 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
Sep 26 Python
Python3实战之爬虫抓取网易云音乐的热门评论
Oct 09 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
Python判断两个对象相等的原理
Dec 12 Python
图文详解python安装Scrapy框架步骤
May 20 Python
从列表或字典创建Pandas的DataFrame对象的方法
Jul 06 Python
Python实现数值积分方式
Nov 20 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
Keras 加载已经训练好的模型进行预测操作
Jun 17 Python
Python 冒泡,选择,插入排序使用实例
Feb 05 #Python
Python中使用Flask、MongoDB搭建简易图片服务器
Feb 04 #Python
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
Feb 04 #Python
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
Feb 04 #Python
Python、Javascript中的闭包比较
Feb 04 #Python
线程和进程的区别及Python代码实例
Feb 04 #Python
Python中使用PIPE操作Linux管道
Feb 04 #Python
You might like
php生成随机密码的三种方法小结
2010/09/04 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
js性能优化 如何更快速加载你的JavaScript页面
2012/03/17 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
JQuery点击行tr实现checkBox选中的简单实例
2016/05/26 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
Python对List中的元素排序的方法
2018/04/01 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
Python3开发环境搭建详细教程
2020/06/18 Python
想学画画?python满足你!
2020/12/24 Python
四方通行旅游网:台湾订房、出国旅游
2017/09/20 全球购物
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
PHP面试题附答案
2015/11/28 面试题
自动化系在校本科生求职信
2013/10/23 职场文书
自荐信格式写作方法有哪些呢
2013/11/20 职场文书
加工操作管理制度
2014/01/19 职场文书
连锁酒店店长职责范本
2014/02/13 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
本科生自荐信
2014/06/18 职场文书
理财计划书
2014/08/14 职场文书
个人授权委托书样本
2014/09/13 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
爱护公物主题班会
2015/08/17 职场文书
Python基于Tkinter开发一个爬取B站直播弹幕的工具
2021/05/06 Python