zoukankan      html  css  js  c++  java
  • python3.5-ssh免输入密码过程

     ssh远程批量执行命令要输密码很蛋疼,虽然有很多种方式,大概有4、5种。原理基本类似。 这里我就讲一个python的模拟登陆 模块

    此刻的时间是:2015年11月19日11:11:47         基本上所有都官网最新的,除了centos - -! 。下面链接也为此刻官网最新的安装包。我是雷锋

    环境:centos 6.6

    python:3.5  wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz

    paramiko:1.7.7.1   wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz

    pip:7.1.2    wget https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz

    setuptools :  wget https://bootstrap.pypa.io/ez_setup.py -O - | python

    pycrypto2.6  https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.1.tar.gz

    一、安装paramiko模块

    python模拟登陆需要安装paramiko模块,而paramiko模块又依赖于pycrypto2.6 这个里面有版本限制,就是不能太低版本,这里我们可以通过paramiko的setup.py的安装文件来看语句

    下面还有这个模块所支持的python 版本,果然支持最新的3.5

    废话那么多,开始安装吧。

    首先安装openssl 和openssl-devel 因为这2个安装包要在安装python3.5之前安装,不然以后安装pip就会报这样的错误

    如果出现这样的报错,就先安装上面的2个包,然后在删掉python的安装目录,重新安装python即可。

    openssl用yum 安装就好。yum默认用的是python2.6的解释环境,将系统默认的python改成3之后记得要去改yum的解释环境哦。python3.5的安装这里就不BB了。

    yum -y install openssl openssl-devel

    然后在安装python3.5 并将python3.5改为python默认解释。

    编译时报错:error: command 'gcc' failed with exit status 1;这是因为缺少python-dev的软件包,所yum -y install python-devel

    ln -s /usr/local/bin/python3 /usr/bin/python

    安装pip之前先安装一个依赖模块setuptools :  

    wget https://bootstrap.pypa.io/ez_setup.py -O - | python

    安装pip

    tar zxf pip-7.1.2.tar.gz

    cd pip-7.1.2

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

    接下来安装paramiko的依赖模块pycrypto2.6

    tar zxf pycrypto2.6.tar.gz

    cd pycrypto2.6

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

    然后在安装paramiko-1.7.7

    tar zxf paramiko-1.7.7.tar.gz

    cd paramiko-1.7.7

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

    然后我们在python 里面来测试一下模块是否安装好了。

    如果其他系统有报错,提示上面模块没安装用pip install 安装即可。至此模块安装完毕。

    二、功能实现

    #/usr/bin/python
    #++++++++++++++++++++++++++this version python3.5+++++++++++++++++++syw
    import paramiko
    ipadd = str(input("Enter your ipaddr:"))
    cmd = str(input("Enter your command:"))
    port = 22
    name = "root"
    pwd = "yingzi"
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(ipadd,port,name,pwd)
    stdin,stdout,stderr = ssh.exec_command(cmd)
    print (stdout.readlines(),end='')
    ssh.close()

    其中stdout 返回命令的结果,格式很乱。我也不知道什么原因。希望知道的大神给小弟点拨点拨。  谢谢

    如果对你有帮助,微信扫码关注一下吧!

    微信
  • 相关阅读:
    LeetCode Find Duplicate File in System
    LeetCode 681. Next Closest Time
    LeetCode 678. Valid Parenthesis String
    LeetCode 616. Add Bold Tag in String
    LeetCode 639. Decode Ways II
    LeetCode 536. Construct Binary Tree from String
    LeetCode 539. Minimum Time Difference
    LeetCode 635. Design Log Storage System
    LeetCode Split Concatenated Strings
    LeetCode 696. Count Binary Substrings
  • 原文地址:https://www.cnblogs.com/shiyiwen/p/4977752.html
Copyright © 2011-2022 走看看