【晟数学院】多台机器之间一键化互信脚本实现—PostgreSQL数据库

本文介绍了如何使用shell脚本在多台机器间实现PostgreSQL数据库的一键化ssh互信。首先,解释了在集群环境中自动配置ssh免密访问的必要性,然后提供了实现脚本autoexssh.sh的细节,强调了需要先在各服务器上安装expect包。接着,讨论了配置文件,即主机名解析的hosts文件,和iplist文件的使用。最后,给出了脚本的执行示例,并提醒在非root用户下执行时需要注意的权限问题。
摘要由CSDN通过智能技术生成

更多精彩内容,请登录:ke.sandata.com.cn

前言

在生产环境中,尤其是集群之间,为了能够使机器之间免密访问,通常需要配置ssh keys 互信,一两台机器手动也会很快处理好,但如果是多台机器,手动做互信就显得有点力不从心了,有可能还会配置错误,为了能够一键化完成自动配置,以下使用shell脚本实现自动互信过程。

一、实现脚本

脚本名称为:autoexssh.sh,执行脚本前需要在各个服务器上安装expect包,可以使用yum方式安装,也可以使用源码编译安装,Depend On You 。

#!/bin/bash

###################################################################
# @Author:             Shaohua                                    #
# @Date:               2021-03-31 14:40:32                        #
# @Last Modified by:   Shaohua                                    #
# @Last Modified time: 2021-03-31 14:43:57                        #
###################################################################
 
#Define Current Directory 
CURRENT_DIR=$(cd "$(dirname $0)";pwd)

#Define Toplevel Directory
TOPLEVEL_DIR=$(cd ${CURRENT_DIR}/..;pwd)

IPLIST=$(cat ${CURRENT_DIR}/iplist)
if [ $# -ne 2 ];then
    echo "Usage:sh $0 用户名 密码"
    exit 99
fi
USER=$1
PASSWD=$2

rm -rf ${CURRENT_DIR}/ssh/
rm -f authorized_keys

for ip in $IPLIST;do
    mkdir -p ${CURRENT_DIR}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值