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

python3.5-ssh免输入密码过程的更多相关文章

  1. ssh免输入密码登录

    ssh免输入密码登录   ubuntu下生成ssh密钥参见.   https://confluence.atlassian.com/display/BITBUCKET/Use+the+SSH+prot ...

  2. SSH免密码(日志三)

    上一篇:JDK安装以及安装过程中出现的问题(日志二) 原理,就是RSA加密,含有公钥和私钥,具体言之,用公钥来确认请求人是否是私钥的持有人. 1, 2, 3, 4, ssh免密码过程中遇到的问题:需要 ...

  3. SSH免密登陆配置过程和原理解析

    SSH免密登陆配置过程和原理解析 SSH免密登陆配置过很多次,但是对它的认识只限于配置,对它认证的过程和基本的原理并没有什么认识,最近又看了一下,这里对学习的结果进行记录. 提纲: 1.SSH免密登陆 ...

  4. gitlab用户添加ssh免密钥认证后clone还是要求输入密码

    今天在centos 7公网服务器上安装gitlab在配置ssh免密钥时遇到一个奇怪的事,正确添加了本机的公钥到gitlab账户上,进行clone时死活都要你输入密码gitlab使用yum安装的,之前在 ...

  5. linux ssh rsa免输入密码

    A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为172.24.253.2 ;     在A上的命令: ssh-keygen -t rsa (连续三 ...

  6. Hadoop集群搭建过程中ssh免密码登录(二)

    一.为什么设置ssh免密码登录 在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作.例如,某个脚本能够终止并重启集群中的所有守护进程.所以,需要安装SSH,但是,SSH远程登陆的时候,需 ...

  7. Linux的SSH免密登录认证过程研究

    一.先看下SSH免密登录使用到的工具和生成的文件 工具:ssh-keygen用于生成秘钥文件,其中秘钥分为公钥和私钥.ssh-copy-id用于复制公钥文件到被控制机. 文件:ssh-keygen生成 ...

  8. 解决:centos配置ssh免密码登录后仍要输入密码

    转自https://www.jb51.net/article/121180.htm 第一步:在本机中创建秘钥 1.执行命令:ssh-keygen -t rsa 2.之后一路回车就行啦:会在-(home ...

  9. 配置SSH使用密钥认证:实现免输入密码登陆

    一.实际工作生产场景分析 张三是某公司员工,由于业务上的需求,需要经常使用SSH工具登陆服务器A的root账户进行操作,为避免重复进行密码验证身份.现采用张山的公钥发送给服务器A,免输入密码登陆到服务 ...

随机推荐

  1. 2019-11-29-WPF-绑定命令在-MVVM-的-CanExecute-和-Execute-在按钮点击都没触发可能的原因...

    原文:2019-11-29-WPF-绑定命令在-MVVM-的-CanExecute-和-Execute-在按钮点击都没触发可能的原因... title author date CreateTime c ...

  2. Blend Brush介绍

    原文:Blend Brush介绍 这篇文章会介绍 Blend怎么设置Brush 全局画刷 1)blend面板的介绍 这5个rectangle分别对应 blend中的 5个设置 1 设置无颜色 2 设置 ...

  3. Haskell路线

    @ 知乎 @ <I wish i have learned haskell> ———— 包括: Ranks, forall, Monad/CPS,  monadic parser, FFI ...

  4. 分析mybatis中 #{} 和${}的区别

    分析方法: 在 GenericTokenParser这个类的parse方法的这一行下个断点调试一下就明白了 builder.append(handler.handleToken(content)); ...

  5. flink PageRank详解(批量迭代的页面排名算法的基本实现)

    1.PageRank算法原理   2.基本数据准备 /** * numPages缺省15个测试页面 * * EDGES表示从一个pageId指向相连的另外一个pageId */ public clas ...

  6. 面试官:优化代码中大量的if/else,你有什么方案?

    一个快速迭代的项目,时间久了之后,代码中可能会充斥着大量的if/else,嵌套6.7层,一个函数几百行,简!直!看!死!人! 这个无限循环嵌套,只是总循环的一部分...我已经绕晕在黄桷湾立交 仔细数了 ...

  7. office viso 2007根据现有数据库建立数据库模型图

    当数据库表很多的时候,表之间的关系就变得很复杂.光凭记忆很难记住,尤其是数据库键值没有外键约束时. 所以有个数据库模型图各个表之间的关系就显而易见了. 打开 office viso 2007 文件&g ...

  8. Ubuntu拒绝root用户ssh远程登录

    sudo vim /etc/ssh/sshd_config 找到并用#注释掉这行:PermitRootLogin prohibit-password 新建一行 添加:PermitRootLogin y ...

  9. nginx实现反向代理 配置多域名以及多端口号

    多个服务部署在同一个服务器,使用不同的端口. 一.思考过程 如果不想带上端口号,就只能访问 80 或 443 端口. 可以用过二级目录区分服务,通过反向代理转发到不同的 Server. 可以用过子域名 ...

  10. NBU磁带库报错代码

    Linux驱动报错"Sense Key"和"ASC and ASCQ"含义 1.Sense Keys Definitions 0x0 No sense 0x1 ...