当前位置: 首页 > 编程笔记 >

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

陈扬
2023-03-14
本文向大家介绍Windows系统下安装Python的SSH模块教程,包括了Windows系统下安装Python的SSH模块教程的使用技巧和注意事项,需要的朋友参考一下

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


 
输出如下:

目前主要用于批量执行多个服务器的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() 

 类似资料:
  • 本文向大家介绍windows下安装Python的XlsxWriter模块方法,包括了windows下安装Python的XlsxWriter模块方法的使用技巧和注意事项,需要的朋友参考一下 在windows环境下安装python的XlsxWriter模块,虽然很简单,但由于自己粗心,少了一个字符,导致不少的错误。。。 1、通过pip命令来安装。 2、误以为是由于pip的版本太低,所以根据错误信息中的

  • 好的,我已经在网上读了很多帖子,没有一个是真正明确的,或者至少对我的技术水平的人来说。我在windows上设置了Ubuntu子系统,我正在尝试设置我的github密钥,这样我就不必每次推送都登录。 如果你有简单的步骤,请忽略下面的其余部分,只是想确保我提供了与我在下面尝试的内容相同的信息。 我尝试了这种方法,但仍然无法使其工作-在Windows上启动Git Bash时运行SSH代理 以下是我采取的

  • 本文向大家介绍Windows系统下nodejs、npm、express的下载和安装教程详解,包括了Windows系统下nodejs、npm、express的下载和安装教程详解的使用技巧和注意事项,需要的朋友参考一下 1、 node.js下载 首先进入http://nodejs.org/dist/,这里面的版本呢,几乎每个月都出几个新的,建议大家下载最新版本,看看自己的电脑是多少位的,别下错了。 下

  • 本文向大家介绍Windows系统中安装nodejs图文教程,包括了Windows系统中安装nodejs图文教程的使用技巧和注意事项,需要的朋友参考一下 第一步:下载安装文件 官网下载地址:http://www.nodejs.org/download/ 第二步: 安装步骤 第三步: 检测是否安装完成

  • 本文向大家介绍windows系统下Python环境搭建教程,包括了windows系统下Python环境搭建教程的使用技巧和注意事项,需要的朋友参考一下 windows系统下Python环境的搭建 step1:下载Python程序 https://www.python.org/downloads/release/python-351/   选择第一个下载下来(随随便下载哪个) step2:安装及配置

  • 本文向大家介绍Windows下tomcat安装教程,包括了Windows下tomcat安装教程的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Windows下tomcat安装教程,供大家参考,具体内容如下 1.打开官网 2.在左侧的导航栏Download下方选择最新的Tomcat 9,点击页面下方的“ 64-bit Windows zip (pgp, md5, sha1)“进行下 3.解