`

Paramiko: SSH and SFTP With Python的安装

 
阅读更多

一、MinGW的安装与配置

 

1.下载MinGW.

    登陆网址http://sourceforge.net/projects/mingw/files/,下载在线安装程序。

2.设置环境变量

   计算机->右键属性->高级设置->环境变量->系统环境变量,然后添加以下几个环境变量

   MINGW=c:\MinGW                  //MInGW的根目录 

   MINGW_HOME=C:\MinGW   //MInGW的根目录

   C_INCLUDE_PATH=%MINGW_HOME%\include;C:\MinGW\lib\gcc\mingw32\4.5.2\include\  //gcc头文件位置

   CPLUS_INCLUDE_PATH=C:\MinGW\include\;C:\MinGW\;lib\gcc\mingw32\4.5.2\include;       //c++头文件位置

    Path=原来的path;;%MINGW_HOME%\bin;C:\MinGW\libexec\gcc\mingw32\4.5.2        //将gcc,g++等命令引入到环境变量中

    LIBRARY_PATH=%MINGW_HOME%\lib;C:\MinGW\lib\gcc\mingw32\4.5.2                 //gcc,g++需要用到lib库

注:以下3~5点,大多数场景可忽略。

3.万事大吉了,点击 开始->所有程序->MinGW->MinGW shell,写个hello word测试下

4. 有时候使用MinGW编译一些开源项目会找不到某些头文件,只需要再c:/MinGW下搜索对应的头文件,然后将文件所在的

   路径加入到C_INCLUDE_PATH,和CPLUS_INCLUDE_PATH中就好了。

5.可以结合Eclipse来做开发,Eclipse下载地址

   http://www.eclipse.org/downloads/。选择C/C++版本就好

   当然,想运行Eclipse要先安装java,下载地址

   http://java.com/zh_CN/。只下载jre就好,不做JAVA开发的话没必要下载JDK.

 

二、 windows 2003/ WIN7 的64bits版本的paramiko的安装流程:

 

1. 首先确认安装的python的版本,不要相信下载的activepython的标注的版本号,需要在命令行中敲入python -V的命令。因为我就是因为activepython版本号的误导,而下载的pycrpto版本不对,搞了好久,郁闷死了。

2. 如果不想要安装vs2008这个大家伙的话,那么还是请使用MinGW吧,然后把安装路径导入到环境变量中。

3. 下载正确的pycrpto版本在这个地址:http://www.voidspace.org.uk/python/modules.shtml

4. 去下载paramiko的压缩包,http://www.lag.net/paramiko/

5. 去解压路径,打开命令行,敲入"python setup.py install build --compiler=mingw32"回车,就应该可以使用了。

 

三、Paramiko 例子

 

Paramiko is a module for python 2.2 (or higher) that implements the SSH2 protocol for secure (encrypted and authenticated) connections to remote machines.

Emphasis is on using SSH2 as an alternative to SSL for making secure connections between python scripts. All major ciphers and hash methods are supported. SFTP client and server mode are both supported too.

Installing paramiko

First, we need to install paramiko, if you don’t have it already.

On Ubuntu/Debian:

$ sudo apt-get install python-paramiko

On Gentoo Linux:

$ emerge paramiko

Or install from source:

$ wget http://www.lag.net/paramiko/download/paramiko-1.7.6.tar.gz $ tar xzf paramiko-1.7.6.tar.gz $ cd paramiko-1.7.6 $ python setup.py build $ su -c "python setup.py install"

Working with paramiko

SSHClient is the main class provided by the paramkio module. It provides the basic interface you are going to want to use to instantiate server connections. The above code creates a new SSHClient object, and then calls ”connect()” to connect us to the local SSH server.

Here’s a simple example:

import paramiko ssh = paramiko.SSHClient() ssh.connect('192.168.1.2', username='vinod', password='screct')

Another way is to use an SSH key:

import paramiko import os privatekeyfile = os.path.expanduser('~/.ssh/id_rsa') mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile) ssh.connect('192.168.1.2', username = 'vinod', pkey = mykey)

Running Simple Commands

Lets run some simple commands on a remote machine.

import paramiko   ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('beastie', username='vinod', password='secret') stdin, stdout, stderr = ssh.exec_command('df -h') print stdout.readlines() ssh.close()

“paramiko.AutoAddPolicy()” which will auto-accept unknown keys.

Using sudo in running commands:

import paramiko   cmd    = "sudo /etc/rc.d/apache2 restart"   ssh    = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('beastie', username='vinod', password='secret') stdin, stdout, stderr = ssh.exec_command(cmd) stdin.write('secret\n') stdin.flush() print stdout.readlines() ssh.close()

Secure File Transfer Using SFTPClient

SFTPClient is used to open an sftp session across an open ssh Transport and do remote file operations.

An SSH Transport attaches to a stream (usually a socket), negotiates an encrypted session, authenticates, and then creates stream tunnels, called Channels, across the session. Multiple channels can be multiplexed across a single session (and often are, in the case of port forwardings).

First we will create a Transport

import paramiko import os privatekeyfile = os.path.expanduser('~/.ssh/id_rsa') mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile) username = 'vinod' transport.connect(username = username, pkey = mykey)

Now we can start the SFTP client:

sftp = paramiko.SFTPClient.from_transport(transport)

Now lets pull a file across from the remote to the local system:

remotepath='/var/log/system.log' localpath='/tmp/system.log' sftp.get(remotepath, localpath)

Now lets push a file to remote system:

remotepath='/var/www/images/file.png' localpath='/tmp/file.png' sftp.put(remotepath, localpath)

Finally, close the SFTP connection and the transport:

sftp.close() transport.close()
分享到:
评论

相关推荐

    python通过paramiko复制远程文件及文件目录到本地

    最近写运维自动化平台,需要用python写很多的小功能模块。...安装paramiko也很简单,我用的是python3,装好了pip,可以直接用pip来安装。 不过由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto:

    paramiko,SSH,Python

    Paramiko是Python编程语言中的一个库,专门用于实现Secure Shell (SSH)协议,它使得开发者能够在不安全的网络环境中安全地执行远程操作。SSH是一种网络协议,广泛应用于远程登录、文件传输以及网络服务的安全控制。...

    python2.7 paramiko安装包

    Paramiko是Python中一个强大的SSH(Secure SHell)协议库,用于实现客户端和服务器之间的安全远程通信。在Python 2.7版本中,有时可能会遇到使用`pip`安装库时出现的问题,比如网络不稳定、镜像问题或者依赖冲突等。...

    python sftp&ftp&ssh2

    标题 "python sftp&ftp&ssh2" 指涉的是使用Python编程语言进行SFTP(Secure File Transfer Protocol)、FTP(File Transfer Protocol)以及SSH2(Secure Shell version 2)的相关操作。SFTP是基于SSH协议的安全文件...

    python使用paramiko实现ssh的功能详解.docx

    `paramiko`是一个纯Python实现的SSHv2协议库,它可以让我们非常方便地进行SSH连接、SFTP文件传输等操作。由于它是纯Python编写的,因此跨平台性非常好,并且支持广泛的SSH功能。`paramiko`的主要功能包括: - **SSH...

    python paramiko+pycrypto

    总的来说,Python的Paramiko库结合PyCrypto模块,为开发者提供了强大且灵活的SSH和SFTP功能,使得在Python中进行远程操作变得更加便捷和安全。在实际项目中,你需要根据具体需求对这些功能进行组合和定制,以满足...

    windows下_python_paramiko模块包

    安装完成后,你可以使用`如何在windows环境下安装python的paramiko模块实现SSH远程登录到其他平台.doc`文档中的指导,编写Python代码来建立SSH连接。下面是一个简单的示例: ```python import paramiko ssh = ...

    linux 下python安装及借助Paramiko进行sftp自动登录

    描述linux 下python3.8.0及paramiko模块的安装。普通的shell脚本要支持ssh自动登录或者 sftp文件自动上传下载,需要lftp、expect等额外的工具辅助。...此时,用python加paramiko模块,可以解决ssh、sftp自动登录问题

    paramiko:领先的本地Python SSHv2协议库

    帕拉米科 帕拉米科: Python SSH模块版权: 版权所有(c)2009 Robey Pointer < > 版权: 版权所有(c)2020 Jeff Forcier < > 执照: 主页: API文档: 发展: 什么“ Paramiko”是世界语中“偏执狂”和...

    python paramiko

    总的来说,Python的Paramiko库是网络管理员、运维人员和自动化脚本开发者的重要工具,它提供了丰富的功能来处理基于SSH的远程任务,确保了数据的安全传输和可靠的远程操作。通过深入学习和实践,你可以掌握如何高效...

    ubuntu下paramiko安装

    在Ubuntu操作系统中,Paramiko是一个重要的Python库,用于实现SSHv2协议,提供客户端和服务器端的功能,包括加密、身份验证、数据传输等。...正确安装并熟悉使用Paramiko,将使你的Python SSH编程变得更加高效和安全。

    paramiko-2.4.1.tar

    这个“paramiko-2.4.1.tar”文件是一个包含Paramiko库版本2.4.1的归档文件,通常用于在Python环境中安装和使用Paramiko。下面我们将深入探讨Paramiko的功能、用途以及如何使用它来连接Linux系统并获取监控信息。 ...

    python ssh模块

    在Python中,最常用的SSH库是`paramiko`,正如压缩包中的`paramiko-1.7.7.1`所示,这是一个强大的、完全实现了SSH2协议的客户端库。 SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供加密的通信。它...

    sftp源码sftp源码sftp源码

    2. ** Paramiko**(Python):Python中的SSHv2实现,包括SFTP客户端和服务器端。 3. **jsch**(Java):Java实现的SSH库,支持SFTP。 4. **Net::SFTP::Foreign**(Perl):Perl的SFTP客户端模块。 ### 学习资源 ...

    35 SSH原理与实践.pptx

    在本课程中,我们将学习SSH的基本概念和工作原理,并使用Python中的Paramiko模块来实现基于SSH的初级网络自动化。Paramiko是一个Python库,提供了SSHv2协议的实现,允许开发者使用Python语言来实现远程登录和文件...

    python2.7和paramiko包

    `python-ecdsa-master.zip`可能是该库的源码版本,用户可以编译安装以在Python 2.7环境中使用。 使用Python 2.7和Paramiko包,开发者可以创建自动化脚本来管理远程服务器,例如: 1. **远程文件操作**:使用...

    paramiko 远程操作linux

    首先,你需要在你的 Python 环境中安装 Paramiko 库。可以使用 pip 来完成: ```bash pip install paramiko ``` ### 2. 创建 SSH 客户端 创建一个 SSH 客户端实例,设置主机名、端口、用户名和密码(或密钥): ...

    python实现ssh及sftp功能(实例代码)

     下面简单的在python实现这几个功能 下面使用到paramiko模块,这个不是python的内置模块,我直接通过pycharm下载这个模块, 第一步实现一个简单的ssh登录命令 代码如下: import paramiko # 创建SSH对象 ssh = ...

Global site tag (gtag.js) - Google Analytics