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

时间: 2024-11-06 10:30:32

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

ssh免输入密码登录以及简化使用的方法

我们知道,公钥用于发布出来,给别人加密数据,然后将要传输的数据通过公钥加密后,传输给自己时,就可以用自己的私钥解密. 检查用户(如root)目录的.ssh下是否存在公钥文件,假设是rsa加密,那么则是检查文件/root/.ssh/id_rsa.pub是否存在.若不存在,则使用ssh-keygen命令生成,然后将该文件里面的内容复制放置到要访问的服务器的登录所用用户名的HOME目录中的.ssh/authorized_keys中,没有该目录及文件则需新建.然后,将改文件属性改为600(chmod 6

解决Centos6.4集群配置ssh免密登陆仍然需要输入密码问题

遇到的问题展示:   Ssh免密登陆配置成功之后仍然需要输入密码,找了很多方法,最后已解决,现把解决办法的详细过程记录下来,希望对你有帮助...       解决办法: 一.准备工作 1.安装ssh服务 执行rpm -qa | grep ssh 若无返回ssh服务,则需要执行下列语句进行安装 sudo yum install openssh-clients sudo yum install openssh-server 2.打开本机的ssh配置文件   删除以下内容每行开头的注释"#"

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

转自https://www.jb51.net/article/121180.htm 第一步:在本机中创建秘钥 1.执行命令:ssh-keygen -t rsa 2.之后一路回车就行啦:会在-(home)目录下中产生.ssh(隐藏)文件夹: 3.里面有两个文件id_rsa(私钥).id_rsa.pub(公钥)文件 注意事项: ①在liunx环境下,要想复制公钥或是私钥,不要使用vim等编辑器打开文件来复制粘贴: 因为它会产生不必要的回车. ②应该使用cat把内容打印到终端上再来复制粘贴: 第二步:

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

一.先看下SSH免密登录使用到的工具和生成的文件 工具:ssh-keygen用于生成秘钥文件,其中秘钥分为公钥和私钥.ssh-copy-id用于复制公钥文件到被控制机. 文件:ssh-keygen生成的秘钥文件有两个,放在~/.ssh/,id_rsa为私钥.id_rsa.pub为公钥 被控制机文件:通过ssh-copy-id复制的公钥在被控制机这个文件里,~/.ssh/authorized_keys id_rsa.pub公钥如下示例: ssh-rsa AAAAB3NzaC1yc2EAAAABIw

ssh免密码登陆及其原理

ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(192.168.1.155),B(192.168.1.181).现想A通过ssh免密码登录到B. 1.在A机下生成公钥/私钥对. [[email protected] ~]$ ssh-keygen -t rsa -P '' 直接ssh-keygen然后三次回车就可以了.-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车.它

linux(十)配置ssh免密登录实现

知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业,并登入远端主机. 一.ssh远程登录 今天要和大家说的是,当我们一台客户机要远程登录到服务器的时候,输入密码才能登录成功. 过程流程图: 所以我们在想能不能我们不需要输入密码,直接使用ssh 用户名@服务器ip就可以登录呢? 二.ssh免密登录原理 看到这个图可能大家有一点蒙逼.我给大家解释一下.

centos7 ssh免口令认证登录

摘要:centos7, xshell, 公钥,  ssh ssh登录方式有口令认证登录和密钥认证登录 接下来本次介绍是ssh密钥登录方式 (1)产生公钥 (2)将公钥放置到centos7的(/root/./ssh)目录中 (3)然后添加ssh用户 因为我下载的xshell以中文,产生公钥的过程如图: 首先选择xshell里面的工具 选择新建用户密钥生成向导(数字签名RSA和DSA 默认RSA) 密钥长度2048 点击下一步 点击下一步 可以更改你密钥名称及其密钥加密密码 然后继续下一步 将其导出

Shell脚本实现SSH免密登录及批量配置管理

本节索引 场景分析 ssh免密登录 pssh工具批量管理 SHELL自动化脚本 本篇总结 场景分析 作为一个运维工程师,不是每个人工作的环境都想阿里.腾讯那样,动不动就上亿的PV量,上万台服务器.我们通常还是工作在,几十台上百台服务器这样的环境,而使用ansible或者puppet这样的自动化运维工具则显得大材小用,并且最终的效果可能还不如几个小工具达到的效果好.像ssh免密登录在配合pssh这样的推送工具,在配合自动化配置脚本,可以说是即方便也使用.这一节将详细带大家以shell脚本的形式实现

linux上ssh免密登录原理及实现

因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp(secure copy)是linux系统下基于ssh登录进行安全的远程文件拷贝的命令. # 传递文件到远程 scp local_file remote_username@remote_ip:remote_file # 传递文件夹到远程 scp -r local_folder remote_usern