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 返回命令的结果,格式很乱。我也不知道什么原因。希望知道的大神给小弟点拨点拨。 谢谢
python3.5-ssh免输入密码过程的更多相关文章
- ssh免输入密码登录
ssh免输入密码登录 ubuntu下生成ssh密钥参见. https://confluence.atlassian.com/display/BITBUCKET/Use+the+SSH+prot ...
- SSH免密码(日志三)
上一篇:JDK安装以及安装过程中出现的问题(日志二) 原理,就是RSA加密,含有公钥和私钥,具体言之,用公钥来确认请求人是否是私钥的持有人. 1, 2, 3, 4, ssh免密码过程中遇到的问题:需要 ...
- SSH免密登陆配置过程和原理解析
SSH免密登陆配置过程和原理解析 SSH免密登陆配置过很多次,但是对它的认识只限于配置,对它认证的过程和基本的原理并没有什么认识,最近又看了一下,这里对学习的结果进行记录. 提纲: 1.SSH免密登陆 ...
- gitlab用户添加ssh免密钥认证后clone还是要求输入密码
今天在centos 7公网服务器上安装gitlab在配置ssh免密钥时遇到一个奇怪的事,正确添加了本机的公钥到gitlab账户上,进行clone时死活都要你输入密码gitlab使用yum安装的,之前在 ...
- linux ssh rsa免输入密码
A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为172.24.253.2 ; 在A上的命令: ssh-keygen -t rsa (连续三 ...
- Hadoop集群搭建过程中ssh免密码登录(二)
一.为什么设置ssh免密码登录 在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作.例如,某个脚本能够终止并重启集群中的所有守护进程.所以,需要安装SSH,但是,SSH远程登陆的时候,需 ...
- Linux的SSH免密登录认证过程研究
一.先看下SSH免密登录使用到的工具和生成的文件 工具:ssh-keygen用于生成秘钥文件,其中秘钥分为公钥和私钥.ssh-copy-id用于复制公钥文件到被控制机. 文件:ssh-keygen生成 ...
- 解决:centos配置ssh免密码登录后仍要输入密码
转自https://www.jb51.net/article/121180.htm 第一步:在本机中创建秘钥 1.执行命令:ssh-keygen -t rsa 2.之后一路回车就行啦:会在-(home ...
- 配置SSH使用密钥认证:实现免输入密码登陆
一.实际工作生产场景分析 张三是某公司员工,由于业务上的需求,需要经常使用SSH工具登陆服务器A的root账户进行操作,为避免重复进行密码验证身份.现采用张山的公钥发送给服务器A,免输入密码登陆到服务 ...
随机推荐
- Java学习之初识Maven
简介 功能特点 Maven主要作用类似于VS的包管理器,能够帮助开发者完成以下工作:构建.文档生成.报告.依赖.SCMs.发布.分发.邮件列表等. 详细请阅读:https://www.runoob.c ...
- kafka 解密:破除单机topic数多性能下降魔咒
https://bbs.huaweicloud.com/blogs/112956 版权归PUMA项目组所有,转载请声明,多谢. kakfa大规模集群能力在前面已给大家分享过,kafka作为消息总线,在 ...
- 求x到y的最少计算次数
链接:https://www.nowcoder.com/questionTerminal/45d04d4d047c48768543eeec95798ed6?orderByHotValue=1& ...
- Regex 提取字符串中重复数据且格式化显示
方法:用 $下标 提取满足项的值 /** * 餐食信息格式转换 * @早餐,1@晚餐,2 => 早餐(1份):晚餐(2份) */ convertMealInfo = (mealInfo ...
- Java常用类StringBuffer详解
内容多为最近学习的自我总结,可能有些地方写的不严谨,甚至会有错误的地方,仅供参考,如发现错误敬请指出,谢谢! 灰色字体为补充扩展内容,多为帮助自己理解. StringBuffer概述: 线程安全的可变 ...
- Linux组管理(6)
在linux中每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念. 文件/目录的所有者:一般为文件的创建者,谁创建了该文件,就自然成为该文件的所有者 查看文件 ...
- react学习-react父组件给子组件传值与设置传值类型以及是否必传参数
react 父组件给子组件传参时,父组件直接在引入的子组件内写入要传递的参数即可 <HeaderComponent title={"传递的参数"}></Heade ...
- 用react-service做状态管理,适用于react、react native
转载自:https://blog.csdn.net/wo_shi_ma_nong/article/details/100713151 . react-service是一个非常简单的用来在react.r ...
- TP5.1 调用common里面自定义的常量
公共文件:\application\common.php define('cms_password', cms); 控制器引用: 调用: $aa = cms_password; dump(cms_pa ...
- Java 之 枚举(Enum)
一.枚举 1.概述 枚举:JDK1.5引入的,类似于穷举,一一罗列出来 Java 枚举:把某个类型的对象,全部列出来 2.应用 什么情况下会用到枚举类型? 当某个类型的对象是固定的,有限的几个,那么就 ...