paramiko在windows上的安装和使用

一:简介

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

由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。

举个常见的例子,现有这样的需求:需要使用windows客户端,远程连接到Linux服务器,查看上面的日志状态,大家通常使用的方法会是:

1:用telnet

2:用PUTTY

3:用WinSCP

4:用XManager等…

那现在如果需求又增加一条,要从服务器上下载文件,该怎么办?那常用的办法可能会是:

1:Linux上安装FTP并配置

2:Linux上安装Sambe并配置…

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

使用paramiko可以很好的解决以上问题,比起前面的方法,它仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助。

二:安装

安装paramiko有两个先决条件,python和另外一个名为PyCrypto的模块。

通常安装标准的python模块,只需要在模块的根目录下运行:

python setup.py build

python setup.py install

以上两条命令即可,paramiko和PyCrypto也不例外,唯一麻烦的就是安装PyCrypto时,需要GCC库编译,如果没有GCC库会报错,会导致PyCrypto以及paramiko无法安装。

以下以32 位的windows XP为例,说明paramiko的安装过程

1:安装python,2.2以上版本都可以,我使用的是2.5,安装过程略,并假设安装目录是c:\python。

2:判断本地是否安装了GCC,并在PATH变量可以找到,如果没有,可使用windows 版的GCC,即MinGW,下载地址:http://sourceforge.net/projects/mingw/,然后运行下载后的exe文件进行网络安装,假设目录为C:\mingw,在PATH中加入 C:\mingw\bin,并在c:\python\lib\distutils下新建一个名称是distutils.cfg的文件,填入:

[build] 
compiler=mingw32

3:下载PyCrypto ,地址是

https://www.dlitz.net/software/pycrypto/

安装PyCrypto:

  • 解压缩
  • 在dos下进入解压缩的目录,运行
C:\python\python.exe setup.py build

C:\python\python.exe setup.py install
  • 安装测试

  运行python.exe,在提示符下输入:

Import  Crypto

  如果没有出现错误提示,说明Crypto安装成功

4:下载paramiko,地址是http://www.lag.net/paramiko/

  • 解压缩
  • 在dos下进 入解压缩的目录,运行
C:\python\python.exe setup.py build

C:\python\python.exe setup.py install
  • 测试paramiko

  运行python.exe,在提示符下输入:

Import  paramiko

  如果没有出现错误提示,说明paramiko安装成功

三: 使用paramiko

如果大家感觉安装paramiko还是略有麻烦的话,当使用到paramiko提供的方便时便会觉得这是十分值得的。

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

方式一:

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(,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("你的命令")
for line in (stdout.readlines()):
    print (line,end=‘‘)
ssh.close()

其中的”你的命令”可以任意linux支持的命令,如一些常用的命令:

df:查看磁盘使用情况
uptime:显示系统运行时间信息
cat:显示某文件内容
mv/cp//
/sbin/service/ xxxservice /stop/restart:启动、停止、重启某服务
netstat -ntl |grep 8080:查看8080端口的使用情况 
 或者 nc -zv localhost :查看所有端口的使用情况 
 / -name XXX:查找某文件
3.2 从widnows端下载linux服务器上的文件

 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()
3.3 从widnows端上传文件到linux服务器

 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()
时间: 2024-10-11 10:34:19

paramiko在windows上的安装和使用的相关文章

Windows 上如何安装Sqlite

1.获得命令行程序 SQLite命令行程序(CLP)是开始使用SQLite的最好选择,按照如下步骤获取CLP: 1).打开浏览器进入SQLite主页,www.sqlite.org. 2).单击页面顶部的下载链接(Download)选项,进入下载页面. 3).滚动鼠标到“Precompiled Binaries for Windows”,选择sqlite-shell-win32-x86-3071401.zip(第一项),点击下载. 4).使用解压工具,将其解压.zip文件中包含一个sqlite3.

EJBCA 在windows上的安装

为了做EJBCA的封装测试,在我自己电脑上装了个,但是在国内的开发上面的介绍实在是太少,有的也只是些傻瓜式的安装介绍,这是介绍在Windows上安装的过程,(后面介绍下 linux 红帽上的),有些也是在网上看看,有一些比较关键的地方 在下面会指出来: 推荐一个比较不错的网址:https://sourceforge.net/p/ejbca/discussion/ EJBCA Installation EJBCA是一个基于J2EE技术的全功能的开源CA系统软件,并提供了一个强大的.高性能并基于组件

jinkins在windows上的安装 配置C#编译

首先jinkins在windows上的安装就不说,安装只需要下载相应安装包就可以了,后有些时候经常需要修改端口号.修改如下: 然后重启jenkins服务 首次运行界面 个人建议插件按需安装. 建立一个简单的项目运行: 这样就可以了, 很简单. 如果遇到说什么dll 无法加载,大家可以尝试 把开发环境的对应目录拷贝到jenkins服务器上. 实在不行在jienkins服务器上安装 vs2015.

Windows上PostgreSQL安装配置教程

Windows上PostgreSQL安装配置教程 这篇文章主要为大家详细介绍了Windows上PostgreSQL安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PostgreSQL的扩展PostGIS是最著名的开源GIS数据库. 安装PostgreSQL是第一步. 1.下载PostgreSQL的二进制安装文件. PostgreSQL官网–>Download–>Windows 64位,如图所示: (1)官网: https://www.postgresql.org/ (2)Dow

Windows上Tomcat安装以及解决乱码问题

Windows上Tomcat安装以及解决乱码问题 下载tomcat8 1.进入tomcat官网 官方网站 2.选择windows的版本 解压 确定自己配置好了jdk jdk的相关配置 配置好tomcat的环境变量 我的电脑->右键->属性->高级系统设置->环境变量 1.新建两个系统变量CATALINA_HOME.CATALINA_BASE 对应的路径分别是: CATALINA_HOME:F:\J2EE\apache-tomcat-8.5.46 CATALINA_BASE:F:\J

node.js在ubuntu上和windows上的安装

Ubuntu 上安装 Node.js Node.js 源码安装 以下部分我们将介绍在Ubuntu Linux下安装 Node.js . 其他的Linux系统,如Centos等类似如下安装步骤. 在 Github 上获取 Node.js 源码: $ sudo git clone https://github.com/nodejs/node.git Cloning into 'node'... 修改目录权限: $ sudo chmod -R 755 node 使用 ./configure 创建编译文

Maven 3.3.9在Windows上的安装

开始学Maven了,可是我一个项目都木有做过.听过Maven 的大名,用来构建项目的. 下面记录下我安装Maven的过程 1.确认电脑上安装了JDK 在cmd下执行下列命令: java –version maven对java版本有要求,不过我这个版本应该木有问题. 2.下载Maven 我在Windows上安装,下载的是3.3.9版本的二进制代码,下载地址如下: http://apache.fayea.com/maven/maven-3/3.3.9/binaries/apache-maven-3.

Windows上本地安装MySQL数据库

从google找了好久,找出一片非常不错的mysql安装过程,顺便给大家分享下,链接为:http://blog.csdn.net/chic_data/article/details/72286329 环境:windwos 10(1511) 64bit.mysql 5.7.14 时间:2016年9月5日 一.下载mysql 1. 在浏览器里打开mysql的官网http://www.mysql.com/ 2. 进入页面顶部的"Downloads" 3. 打开页面底部的"Commu

scapy在Windows上的安装

你需要以下为软件在Windows上安装Scapy: Python:Python 2.7或3.3 +.安装后,将Python安装目录及其脚本子目录添加到您的路径中.根据你的Python版本,默认是C:\ python27和C:\ python27 \脚本分别. Npcap:最新版本.默认值是推荐.Scapy还将与WinPcap. Scapy:最新的开发版本的Git仓库.解压缩档案,目录中打开一个命令提示符运行"python setup.py install". 下载地址:https://