python
Posted Soul.NULL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python相关的知识,希望对你有一定的参考价值。
paramiko 模块
一、paramiko 模块介绍
paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。
二、安装
1、安装paramiko有两个先决条件,python和另外一个名为PyCrypto的模块
2、PyCrypto安装
wget http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz python setup.py build && python setup.py install (编译时报错:error: command ‘gcc‘ failed with exit status 1;这是因为缺少python-dev的软件包,所yum -y install python-devel)
3、paramiko安装
wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz python setup.py build && python setup.py install
Crypto error: ‘module‘ object has no attribute ‘HAVE_DECL_MPZ_POWM_SEC‘ (Crypto error: ‘module‘ object has no attribute ‘HAVE_DECL_MPZ_POWM_SEC‘ 找到 /usr/lib/python2.7/site-packages/Crypto/Util/number.py 把if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC: 注释了 #if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC: )
三、paramiko 使用及方法
#设置ssh连接的远程主机地址和端口
t=paramiko.Transport((ip,port))
#设置登录名和密码
t.connect(username=username,password=password)
#连接成功后打开一个channel
chan=t.open_session()
#设置会话超时时间
chan.settimeout(session_timeout)
#打开远程的terminal
chan.get_pty()
#激活terminal
chan.invoke_shell()
然后就可以通过chan.send(‘command‘)和chan.recv(recv_buffer)来远程执行命令以及本地获取反馈。
以上是关于python的主要内容,如果未能解决你的问题,请参考以下文章