python paramiko安装_paramiko安装及使用

我的博客已迁移到xdoujiang.com请去那边和我交流

一、基础环境

1、角色、ip、版本、内核

serverA 10.1.10.117 3.2.0-4-amd64 7.8 python pycrypto paramiko ecdsa

python-2.7.3

pycrypto-2.6.1

paramiko-1.15.3

pycrypto-2.6.1.tar.gz

ecdsa-0.13.tar.gz

paramiko-1.15.3.tar.gz

二、apt方式安装paramiko

1、安装基础包

apt-get -y install gcc python-dev python-setuptools

2、安装pip命令

easy_install pip

3、查询下是否有安装的包

1)pip search "pycrypto"

pycrypto             - Cryptographic modules for Python.

2)pip search "paramiko"

paramiko             - SSH2 protocol library

4、使用pip方式安装

1)pip install pycrypto

Collecting pycrypto

/usr/local/lib/python2.7/dist-packages/pip-7.1.2-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.

InsecurePlatformWarning

Downloading pycrypto-2.6.1.tar.gz (446kB)

100% |████████████████████████████████| 446kB 96kB/s

Installing collected packages: pycrypto

Running setup.py install for pycrypto

Successfully installed pycrypto-2.6.1

/usr/local/lib/python2.7/dist-packages/pip-7.1.2-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.

InsecurePlatformWarning

2)pip install paramiko

Collecting paramiko

/usr/local/lib/python2.7/dist-packages/pip-7.1.2-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.

InsecurePlatformWarning

Downloading paramiko-1.15.3-py2.py3-none-any.whl (166kB)

100% |████████████████████████████████| 167kB 104kB/s

Collecting ecdsa>=0.11 (from paramiko)

Downloading ecdsa-0.13-py2.py3-none-any.whl (86kB)

100% |████████████████████████████████| 90kB 165kB/s

Requirement already satisfied (use --upgrade to upgrade): pycrypto!=2.4,>=2.1 in /usr/local/lib/python2.7/dist-packages (from paramiko)

Installing collected packages: ecdsa, paramiko

Successfully installed ecdsa-0.13 paramiko-1.15.3

三、测试

四、tar包安装paramiko

1、安装基础包

apt-get -y install gcc python-dev

2、下载pycrypto

wget --no-check-certificate https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz#md5=55a61a054aa66812daf5161a0d5d7eda

3、解压并进入相关目录

tar zxvf pycrypto-2.6.1.tar.gz && cd pycrypto-2.6.1

4、检查环境

./configure

5、编译安装

python setup.py build && python setup.py install

6、下载ecdsa

wget --no-check-certificate https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.13.tar.gz#md5=1f60eda9cb5c46722856db41a3ae6670

7、解压并进入相关目录

tar zxvf ecdsa-0.13.tar.gz && cd ecdsa-0.13

8、编译安装

python setup.py build && python setup.py install

9、下载paramiko

wget --no-check-certificate https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.3.tar.gz#md5=c959088669f8d951585aa6abc25c8ef6

10、解压并进入相关目录

tar zxvf paramiko-1.15.3.tar.gz && cd paramiko-1.15.3

11、

12、编译安装

python setup.py build && python setup.py install

五、测试

六、使用paramiko模块(eg:多台服务器查询)

#!/usr/bin/python2.7

# -*- coding: utf-8 -*-

#--------------------------------------------------

#Author:jimmygong

#Email:jimmygong@taomee.com

#FileName:paramiko.py

#Function:

#Version:1.0

#Created:2015-10-13

#--------------------------------------------------

import re

import fileinput

import os

import sys

import paramiko

host="host.txt"

cmd="cmd.txt"

if os.path.isfile(host) and os.path.isfile(cmd):

print "%s and %s exists,you can continue" % (host,cmd)

else:

print "%s or %s is lost,please check!" % (host,cmd)

sys.exit()

port=22

user="root"

password="redhat"

i=0

cmd1="cat %s|grep '10.1'|wc -l" % host

num1=os.popen(cmd1).read().strip()

s=paramiko.SSHClient()

s.load_system_host_keys()

s.set_missing_host_key_policy(paramiko.AutoAddPolicy())

for line in fileinput.input(host,inplace=0):

if re.search("10.1",line):

i+=1

host=line.strip()

t=paramiko.Transport((host,port))

t.connect(username=user,password=password)

s.connect(host,port,user,password,timeout=5)

f=open(cmd)

while True:

cmd_line=f.readline()

if len(cmd_line) == 0:break

stdin,stdout,stderr=s.exec_command(cmd_line)

cmd_result=stdout.read(),stderr.read()

for result in cmd_result:

print "\033[32m %s \033[0m\n" % result,

f.close()

print "\x1B[0;33m %d/%d %s\x1B[0m" % (int(i),int(num1),line)

m=i

else:

pass

print "\033[32m allnum %d \033[0m\n" % int(m)

print "#"*40

s.close()

PS:相关文件

cat cmd.txt

crontab -l

cat host.txt

10.1.10.185

10.1.10.24

七、效果

八、参考文章

https://pypi.python.org/pypi/pycrypto

https://pypi.python.org/pypi/paramiko

https://pypi.python.org/pypi/ecdsa/

https://github.com/paramiko/paramiko/

http://docs.paramiko.org/en/1.15/api/agent.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值