<pre name="code" class="python">if [  ! $# -eq 2  ] ;then
echo "请输入用户密码以空格分开"
exit
else
ssh-keygen -t rsa
#用户名
uname="$1"
#密码
passwd="$2"
fi #执行检测并安装expect模块
ep=`rpm -qa | grep expect` if [ -z $ep ] ; then
echo "检测到你的系统,没有安装expect模块,准备执行安装"
sleep 2
yum install -y expect else
echo "已经安装expect模块,3秒后,开始执行ssh文件同步"
sleep 3
fi #公钥无ssh认证模块
cat hosts | while read host
do echo "当前正在向$host上传输ssh文件"
expect <<EOF
spawn scp -r .ssh/ $host:/$uname
expect {
"*yes/no" {send "yes\r" ;exp_continue}
"*password:" {send "$passwd\r" ;exp_continue }
} EOF echo "当前正在$host上进行公钥认证....."
sleep 2
expect <<EOF
spawn ssh-copy-id -i .ssh/id_rsa.pub $host
expect {
"*yes/no" {send "yes\r" ;exp_continue}
"*password:" {send "$passwd\r" ;exp_continue }
} EOF echo "认证成功...." done #切换root权限进行hosts文件分发 echo "同步本机的hosts文件到各个机器上" sleep 1 #同步本机的hosts文件到其他各个机器上 host文件内容: 192.168.32.84上执行这个文件, demo:/root# cat hosts
192.168.32.142
192.168.32.143 此时从192.168.32.84上发起,可以远程ssh : 反过来在192.168.32.143上执行就不可以: wze-haproxy:/root# ssh root@192.168.32.84 date
root@192.168.32.84's password:
												

批量的单向的ssh 认证的更多相关文章

  1. 基于openssl的单向和双向认证

    1.前言 最近工作涉及到https,需要修改nginx的openssl模块,引入keyless方案.关于keyless可以参考CloudFlare的官方博客: https://blog.cloudfl ...

  2. ssh 认证指定端口

    [root@database2 ~]# cat ssh.sh if [ ! $# -eq 2 ] ;then echo "请输入用户密码以空格分开" exit else ssh-k ...

  3. SSH认证原理和批量分发管理

    SSH密码认证原理 几点说明: 1.服务端/etc/ssh目录下有三对公钥私钥: [root@m01 ssh]# ls moduli ssh_config sshd_config ssh_host_d ...

  4. m.Tomcat使用openssl走APR通道配置单向和双向认证

    引用自: http://blog.csdn.net/gtuu0123/article/details/5827800(Tomcat的SSL单向认证)  http://blog.csdn.net/gtu ...

  5. debian下使用gitosis+gitweb搭建SSH认证的git服务器

    搭建完成Git服务器后,需要使用两台机器进行测试,一台机器作为服务器端server,一台服务器作为客户端client.整个系统,需要三个计算机账户,这里假设server端的账户名为git,client ...

  6. github添加ssh认证

    总概:在使用git的时候,和目标仓库建立关系有两种方式https,ssh.一般用的是https认证(这样简单方便),但有个缺点,pull,push等操作需要频繁输入用户验证.虽然可以把用户验证账号密码 ...

  7. Linux学习笔记总结--ssh认证登录

    原理简介 SSH证书认证登录的基础是一对唯一匹配密钥: 私钥(private key)和公钥(public key).公钥用于对数据进行加密,而且只能用于加密.而私钥只能对使用所匹配的公钥,所加密过的 ...

  8. git ssh认证

    一般新手用git时,使用HTTPS都需要输入用户名和密码,这是一个很低效的开发过程.(虽然有时可以让开发人员减少push的次数).github提供了几种连接方式,其中以https:开头的代表https ...

  9. 华为SSH认证配置

    [设备型号]华为switch-S5700s ————1: [SW1] rsa/dsa local-key-pair create #创建本地密钥对 The key name will be: SW1_ ...

随机推荐

  1. HDU 2451 Simple Addition Expression

    题目大意:有一个关于 简单加法表达式  的定义告诉你,就是  选一个数字i  如果 i+(i+1)+(i+2) 它的和,没有任何一位进位的话,那就是 一个i的简单加法表达式,求小于n的表达式数目. 题 ...

  2. HDU 1568 Fibonacci

    题解:首先,对于小于10000的斐波那契数,我们直接计算,当大于10000时,用公式,由于只要输出前四位,所以不用考虑浮点数的问题,算出其取log的结果: tmp=(log(sq5/5)+n*log( ...

  3. android sdk 下载缓慢的问题

    原文地址:http://www.oschina.net/question/265039_173445#tags_nav 1.在Android SDK Manager Setting 窗口设置 HTTP ...

  4. swjtu 2213 A Game About Cards(模拟题)

    题目链接:http://acm.swjtu.edu.cn/JudgeOnline/showproblem?problem_id=2213 思路分析:该问题与约瑟夫问题相似:每次将前n张牌放到队列的最后 ...

  5. hive 0.10 0.11新增特性综述

    我们的hive版本升迁经历了0.7.1 -> 0.8.1 -> 0.9.0,并且线上shark所依赖的hive版本也停留在0.9.0上,在这些版本上有我们自己的bug fix patch和 ...

  6. HDU 4716 A Computer Graphics Problem

    A Computer Graphics Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (J ...

  7. WPF与Winform的选择

    最近公司计划对ERP系统全面升级,现有的ERP是简单的bs架构系统打算改版成cs.平时如自己写一些工具,小应用都是用winform就足够.但是界面总是很难看,据了解WPF在这一方面会强一些.因为之前对 ...

  8. linq to sql用partial扩展属性,创建一个部分类(用于多表连接)

    1.在窗体中创建dataGridView显示表: using System; using System.Collections.Generic; using System.ComponentModel ...

  9. Xcode - 内存分析

    内存分析工具 1. ARC中的内存泄露 1. 一般内存分析, 主要是看看有没有内存泄露 2. 内存泄露: 创建了对象, 使用完毕没有释放, 将来就可能造成内存泄露 3. 内存泄露: 主要用于MRC的内 ...

  10. C#后台跳转

    后台跳转的方法: 1.js脚本 [不推荐使用] Context.Response.Write("<script language=javascript>window.locati ...