第一步:安装openssh-clients
  yum install -y openssh-clients.x86_64
第二步:生成密钥
  ssh-keygen
第三步:拷贝公钥到其他机器
  ssh-copy-id hostname

使用脚本批量配置每台机器互相免密登录

  环境:centos6.10

  安装脚本编程交互工具expect

    yum install -y expect

  脚本编写,小例子

  

  generatekey.expect

#!/usr/bin/expect
spawn ssh-keygen
expect "*id_rsa*"
send \n
expect {
"*verwrite*" {
send y\n
expect "*passphrase*"
send \n
expect "*again*"
send \n
}
"*assphrase*" {
send \n
expect "*again*"
send \n
}
}
expect "*randomart*"
send_user "generate successful\n"

  

  copykey.expect

#!/usr/bin/expect
set from [lindex $argv 0]
set hostname [lindex $argv 1]
spawn ssh-copy-id $from@$hostname
expect {
"*assword*" { # "*password*"和左大括号之见一定要留间隔,否则不能识别
send wanger\n
expect "*check*"
send_user "add to $hostname successful!\n"
}
"*yes/no*" {
send yes\n
expect "*assword*"
send wanger\n
expect "*check*"
send_user "add to $hostname successful!\n"
}
"*check*" {
send_user "already added to $hostname!\n"
}
}

 

  machines:把所有机器的hostname添加到这个文件

tdh1
tdh2
tdh3
tdh4

 

  passphraseless_onetomutiple.sh

#!/bin/bash
dirname=/home/wanger/code/passphraseless
$dirname/generatekey.expect
input="$dirname/machines"
while read -r hostname
do
$dirname/copykey.expect $1 $hostname
done < $input

  

  passphraseless_all

#!/bin/bash
current_host=`hostname`
dirname=/home/wanger/code/passphraseless
input=$dirname/machines
# echo $current_host
$dirname/passphraseless_onetomutiple.sh wanger for hostname in `awk '$1' $input`
do
if [ $hostname != $current_host ];
then
scp -r ../passphraseless wanger@$hostname:/home/wanger/code/
$dirname/scp.expect $hostname
ssh wanger@$hostname $dirname/passphraseless_onetomutiple.sh wanger
fi
done

  

  给执行权限后,在任意一台机器上执行./passphraseless_all即可

root版本配置代码在github上: https://github.com/cqdxwjd/code/tree/master/linux/shell/passphraseless_root

linux免密登录配置的更多相关文章

  1. linux下免密登录配置

    1.首先大家先开三台虚拟机 2.回到首层. 2.1:编辑文件:    vim /etc/ssh/sshd_config 3:在master的linux上生成ssh密钥: ssh-keygen -t r ...

  2. Linux免密登陆配置(互信配置)

    Linux免密登陆配置(互信配置) 1.生成当前用户的秘钥文件 [oracle@localhost .ssh]$ ssh-keygen -t rsa 2.配置远程登录用户的公钥文件 将公钥文件拷贝至另 ...

  3. SSH免密登录配置

    SSH免密登录配置 本地生成密钥文件: $ ssh-keygen 输出: Generating public/private rsa key pair. Enter file in which to ...

  4. Linux主机之间ssh免密登录配置方法

    由于公司的生产环境有很多台Linux的CentOS服务器, 为了方便机子(假设两台机子A,B)互相之间免密ssh, scp命令操作,配置如下 1. 在A.B上分别创建本机的公钥和私钥,输入命令后连续三 ...

  5. linux免密登录ssh验证配置方法及常见错误解决

    目标:从服务器A免密登录服务器B [配置方法] 1.在服务器A生成密钥文件,直接使用以下命令: ssh-keygen 中间遇到输入内容一路回车即可,完成后会在 ~/.ssh 目录下生成两个文件:id_ ...

  6. (11)ssh免密登录配置

    ***在Linux命令行中登录到另一台虚拟机(需要用到ssh协议) Linux中默认有ssh的服务器端和客户端,客户端的名字就叫ssh 前提是当前使用的用户名在待连接的虚拟机中存在 格式:  ssh ...

  7. Cmder下ssh免密登录配置

    1.本地生成ssh-key 在本地cmder终端下运行下面的命令生成ssh的公钥和私钥文件: ssh-keygen -t rsa 其中,.ssh/id_rsa为私钥文件,留在本地使用,而.ssh/id ...

  8. ssh登录原理及免密登录配置

    ssh登录原理参考: https://www.cnblogs.com/hukey/p/6248468.html ssh登录有两种方式: 1):用户名密码登录 2):基于秘钥的登录 ssh免密登录指的就 ...

  9. ssh-keygen Linux 免密登录

    一.选择算法和密钥大小 rsa - 基于分解大数的难度的旧算法.RSA建议密钥大小至少为2048位,4096位更好.RSA正在变老,并且在保理方面取得了重大进展.可能建议选择不同的算法.在可预见的将来 ...

随机推荐

  1. hdu2068 RPG的错排 错排+组合

    RPG的错排 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  2. 记录下push推送优化改进点

    一)自主研发的push服务的特点及优势: 1) 消息回执确认(ack); 2) 有效期推送(设置消息的有效期); 3) 精准推送(设置设备组别推送); 4) 下发任务分解(拆分任务,多进程); 5) ...

  3. Nodejs各种功能Module的收集整理

    收集整理接触过的各种常用的nodejs modules,不断更新~~~ ================================================================ ...

  4. Android.mk 输出日志 调试

    $(warning "the value of MY_FILES_PATH is $(MY_FILES_PATH)") #jni

  5. important——》sql server 2000安装图解

    MS Sql Server 2000包含两个部分:服务器组件和客户端工具,其中服务器组建是以Windows服务的方式运行的,有四种服务分别是:MSSqlServer.Distributed Trans ...

  6. 006android初级篇之jni数据类型映射

    JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++) 使用JNI的副作用 一旦使用JNI,JAVA程序就丧失了JAV ...

  7. Unity3D学习笔记——NGUI使用常见问题

    一:在Scene中右键创建UI组件. 首先要确定NGUI中的红框能看见,我的就是之前无法现实红框,所以右键无法新建UI组件, 原因是:UIPanel没启用. 启用方法: 启用前和启用后NGUI界面对比 ...

  8. 红外图像处理之直方图均衡的matlab源码与效果验证

    红外图像是热辐射成像,由于场景中的目标与背景的温差相对较小,红外图像的动态范围大.对比度 低, 信噪比也较可见光图像的低.为了能够从红外图像中正确地识别出目标,必须对红外图像进行增强处理.一般红外探测 ...

  9. CSS 关于让页面的高度达到电脑屏幕的底部

    .sidebar:before {content: "";display: block;width: 190px;position: fixed;bottom: 0;top: 0; ...

  10. POJ 1789 Truck History【最小生成树简单应用】

    链接: http://poj.org/problem?id=1789 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...