• 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 返回命令的结果,格式很乱。我也不知道什么原因。希望知道的大神给小弟点拨点拨。  谢谢

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

    微信
  • 相关阅读:
    maven(一 基本操作 命令 标签)
    springmvc学习(五)
    springmvc学习(四)
    springmvc学习(三)
    springmvc学习(二)
    一个简单的springmvc例子 入门(1)
    第一次记录
    字符设备驱动(六)按键poll机制
    字符设备驱动(五)按键优化休眠
    字符设备驱动(四)按键中断
  • 原文地址:https://www.cnblogs.com/shiyiwen/p/4977752.html
Copyright © 2020-2023  润新知