linux免密登录配置
第一步:安装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免密登录配置的更多相关文章
- linux下免密登录配置
1.首先大家先开三台虚拟机 2.回到首层. 2.1:编辑文件: vim /etc/ssh/sshd_config 3:在master的linux上生成ssh密钥: ssh-keygen -t r ...
- Linux免密登陆配置(互信配置)
Linux免密登陆配置(互信配置) 1.生成当前用户的秘钥文件 [oracle@localhost .ssh]$ ssh-keygen -t rsa 2.配置远程登录用户的公钥文件 将公钥文件拷贝至另 ...
- SSH免密登录配置
SSH免密登录配置 本地生成密钥文件: $ ssh-keygen 输出: Generating public/private rsa key pair. Enter file in which to ...
- Linux主机之间ssh免密登录配置方法
由于公司的生产环境有很多台Linux的CentOS服务器, 为了方便机子(假设两台机子A,B)互相之间免密ssh, scp命令操作,配置如下 1. 在A.B上分别创建本机的公钥和私钥,输入命令后连续三 ...
- linux免密登录ssh验证配置方法及常见错误解决
目标:从服务器A免密登录服务器B [配置方法] 1.在服务器A生成密钥文件,直接使用以下命令: ssh-keygen 中间遇到输入内容一路回车即可,完成后会在 ~/.ssh 目录下生成两个文件:id_ ...
- (11)ssh免密登录配置
***在Linux命令行中登录到另一台虚拟机(需要用到ssh协议) Linux中默认有ssh的服务器端和客户端,客户端的名字就叫ssh 前提是当前使用的用户名在待连接的虚拟机中存在 格式: ssh ...
- Cmder下ssh免密登录配置
1.本地生成ssh-key 在本地cmder终端下运行下面的命令生成ssh的公钥和私钥文件: ssh-keygen -t rsa 其中,.ssh/id_rsa为私钥文件,留在本地使用,而.ssh/id ...
- ssh登录原理及免密登录配置
ssh登录原理参考: https://www.cnblogs.com/hukey/p/6248468.html ssh登录有两种方式: 1):用户名密码登录 2):基于秘钥的登录 ssh免密登录指的就 ...
- ssh-keygen Linux 免密登录
一.选择算法和密钥大小 rsa - 基于分解大数的难度的旧算法.RSA建议密钥大小至少为2048位,4096位更好.RSA正在变老,并且在保理方面取得了重大进展.可能建议选择不同的算法.在可预见的将来 ...
随机推荐
- 模式识别 - libsvm的函数调用方法 具体解释
libsvm的函数调用方法 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26261173 须要载入(load)SVM的 ...
- strrev 字符串反转函数
strrev (PHP 3, PHP 4, PHP 5) strrev -- Reverse a string Description string strrev ( string string ) ...
- HashMap与HashTable原理及数据结构
HashMap与HashTable原理及数据结构 hash表结构个人理解 hash表结构,以计算出的hashcode或者在hashcode基础上加工一个hash值,再通过一个散列算法 获取到对应的数组 ...
- Android开发教程:shape和selector的结合使用(转载)
shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector.可以这样说,shape和 ...
- 电脑出现“损坏的图像”窗口提示dll没有被指定在Windows上运行如何解决
电脑中出现了无法运行应用程序的情况,弹出一个“***.exe - 损坏的图像”的窗口,上面提示“***.dll没有被指定在Windows上运行……”,如果我们遇到这样的问题,应该要如何解决呢? 1.我 ...
- WPF数据模板样式选择器
在使用数据模板样式选择器时,不能设置ItemContainerStyle的属性值,如果设置了该值,那么数据模板样式选择器会失去作用. 在使用数据模板样式选择器时,首先要创建数据模板样式选择器对象,此对 ...
- Unity3D学习笔记——NGUI之UISlider
UISlider:用于创建简单的滑动块和进度条,并且可以添加一个拇指按钮. 效果图如下: 一:使用步骤 1.从上面的效果看出,这个工具由四部分组成:背景图,进度图,进度lable显示,拇指按钮. 2. ...
- mysql增加自定义函数功能
mysql默认是不能自定义函数的 当create function时 This function has none of DETERMINISTIC, NO SQL, or READS SQL DAT ...
- 在eclipse里面使用git仓库,并且使用maven加载项目
前提:安装完成git和maven(maven需要在eclipse中配置完成) 1.点击Windows->show view 选择Git Repositories(git仓库) 2.点击2号图标, ...
- 锁(java, DB)
知识点 事务 锁(java, DB) 多线程知识点整理 锁(java, DB) 什么是锁 对资源的访问权限进行控制 如果把一个资源(对象)比喻成屋子.就好像你进入了屋子锁上了门.你家人和贼都进不去了. ...