当前位置:网站首页>Shell脚本配置root免密登录到其他主机
Shell脚本配置root免密登录到其他主机
2022-07-17 05:06:00 【RobertTeacher】
Shell脚本配置root免密登录到其他主机
本篇文章将会指导您使用shell脚本来配置主机间的免密操作。
脚本依赖expect包实现交互操作。
关于expect包安装方法,请参考附录完成安装。
一、shell脚本代码
下面是shell脚本代码
共分三个步骤
一、配置hosts文件,host文件添加免密主机的信息。
二、判断本地的公钥是否存在,如果不存在则需要生成公钥。
三、复制公钥到免密主机上,实现免密操作。
代码如下所示(示例)
#!/bin/bash
# 配置root免密登录到其他主机
# 传递三个参数 1、免密的主机密码 2、免密主机的IP 3、免密主机的主机名称
# @Author Cym
########################
# 一、配置hosts文件
sed -i '/'"$3"'/d' /etc/hosts eval `echo $2 $3 >> /etc/hosts` filepath=~/.ssh/id_rsa.pub # 二、判断本地的公钥是否存在,如果不存在则需要生成公钥 [ ! -f $filepath ] && { ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
}
# 三、实现免密操作
expect -c "set timeout -1; spawn ssh-copy-id $3; expect { *(yes/no)* {send -- yes\r;exp_continue;} *password:* {send -- $1\r;exp_continue;} eof { exit 0;} }";
二、脚本执行结果演示
脚本结果运行如下图所示,expect会自动帮我们完成交互操作。
附录
安装expect
离线安装
离线安装expect需要两个离线包,expect_5.45-2_amd64.deb和tcl8.5_8.5.11-1ubuntu1_amd64.deb,我已经为大家整理完毕放在我的个人空间资源里面,请移步下载。
在线安装
ubuntu系统在线安装使用下面的命令
代码如下所示
apt-get install expect
centOS系统在线安装使用下面的命令
代码如下所示
yum install expect
结语
以上就是Shell脚本配置root免密登录到其他主机的全部内容,喜欢的话点个关注,我会不定期更新技术文章。
边栏推荐
- Internship project 1 - personalized homepage configuration
- 学习C语言第二天
- 获取URL参数的两种方法及location对象的各项获取方式
- STL容器——queue与deque的基本操作
- uni-app 条件编译#ifdef #endif 兼容多个终端
- uniapp中使用ucharts图表,饼状图,柱状图,折线图
- es6新增-字符串部分
- Flex弹性布局
- Two JS methods of rolling wheel loading and modal box dragging
- PCA feature dimensionality reduction of machine learning + case practice
猜你喜欢

Mongo DB aggregate operations and indexes

微信小程序 学习笔记

读论文《SNUNet-CD: A Densely Connected Siamese Network for Change Detection of VHR Images》

手把手教你复现Log4j2核弹级漏洞

【C语言_复习_学习第二课】什么是进制?进制之间应该如何转换

Actual cases of data analysis and data mining local house price prediction (716):

【C语言—零基础第六课】输入输出语句格式与复合语句

Wechat applet cloud development and use method-1

Internship project 1 - personalized homepage configuration

Ucharts chart, pie chart, bar chart and line chart are used in uniapp
随机推荐
Class object automatic injection attribute operation tool
使用js中的(offset,page)实现登录效果
【C语言—零基础第八课】循环结构与break continue
Internship project 1 - personalized homepage configuration
Uniapp uses uview to realize folding panel
[ES6] use multiple functions such as adding data, filtering and transmitting to the page to realize cases
C语言练习2
Submit the uniapp form (input, radio, picker) to get the parameter value
The code of yolov5 model for pest identification in Title A of the 10th Teddy cup data mining challenge (has been run through, original works, continuously updated)
Mysql database experiment training 6, data view (detailed)
小程序云开发表单提交并在页面中获取数据
使用Echars实现水滴状、环形图、分割图、堆叠、组织架构图、地图轮廓等图表
6S参数
获取数组中对象内部的数值最大与最小值多功能版及点名系统完整版并展示效果
交换机用户模式、特权模式、全局模式、端口模式
【C语言_复习_学习第二课】什么是进制?进制之间应该如何转换
SQL注入
MapBox 加载本地离线地形
Actual cases of data analysis and data mining local house price prediction (716):
数据可视化