Windows系统下安装Python的SSH模块教程
2015-02-05 00:00
1091 查看
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
测试代码:
输出如下:
目前主要用于批量执行多个服务器的ssh命令,批量维护比较方便。
下面是两种使用paramiko连接到linux服务器的代码
方式一:
上面的第二行代码的作用是允许连接不在know_hosts文件中的主机
方式二:
如果连接远程主机需要提供密钥,上面第二行代码可改成:
例子:
下载linux服务器上的文件
上传文件到linux服务器
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的SSH模块教程
- Windows系统中安装Python模块pip numpy matplotlib
- Windows系统下安装Python的SSH模块教程
- windows安装python-ssh访问模块(paramiko)
- windows安装python-ssh访问模块(paramiko)
- windows下安装并使用Python的SSH模块(paramiko+pycrypto+ecdsa)
- 安装Python的SSH模块【Windows】
- windows下python SSH-Client模块paramiko的安装与修改
- Windows下安装Python SSH模块及其使用
- windows安装python3.4-ssh访问模块(paramiko)
- python一些模块的exe安装包在windows的64位系统里识别不到已安装Python目录的解决方法
- python模块paramiko与ssh安装配置教程
- windows系统下Python3.5.1安装教程
- windows安装python-ssh访问模块(paramiko)
- Windows下安装Python SSH模块及其使用
- Windows系统下为 Python安装 Pcapy模块的方法
- windows下安装python模块解决方案
- windows下Python2.7 的 pyOpenGL模块安装
- macbook pro上安装三系统详解教程(mac os x+windows+linux ubuntu)
- win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程