服务器之间做互信

这篇博客介绍了如何利用expect脚本实现批量创建Linux服务器之间的SSH互信关系,包括安装expect、生成SSH密钥、配置authorized_keys以及通过scp复制到其他主机。详细步骤和示例脚本提供了一种高效管理多台服务器的方法。
摘要由CSDN通过智能技术生成
  •                               服务器之间做互信
    

expect是交互性很强的脚本语言,可以帮助运维人员实现批量管理成千上百台服务器操作,是一款很实用的批量部署工具!expect依赖于tcl,而linux系统里一般不自带安装tcl,所以需要手动安装。选择其中的任意一台服务器上操作,比如这里还是选择192.168.10.202这台机器。expect-5.43.0.tar和tcl8.4.11-src.tar 的下载地址:https://pan.baidu.com/s/1kVyeLt9 提取密码:af9p
将expect和tcl的软件包下载放到/usr/local/src目录下,解压tcl,进入tcl解压目录,然后进入unix目录进行编译安装
[root@server-202 ~]# cd /usr/local/src/
[root@server-202 src]# tar -zvxf tcl8.4.11-src.tar.gz
[root@server-202 src]# cd tcl8.4.11/unix
[root@server-202 unix]# ./configure
[root@server-202 unix]# make && make install

安装expect
[root@server-202 src]# tar -zvxf expect-5.43.0.tar.gz
[root@server-202 src]# cd expect-5.43.0
[root@server-202 expect-5.43.0]# ./configure --with-tclinclude=/usr/local/src/tcl8.4.11/generic --with-tclconfig=/usr/local/lib/
[root@server-202 expect-5.43.0]# make && make install

安装完成后进行测试
[root@server-202 ~]# expect
expect1.1>

[root@server-202 ~]# which expect
/usr/local/bin/expect

做个expect执行文件的软件
[root@server-202 ~]# ln -s /usr/local/bin/expect /usr/bin/expect
[root@server-202 ~]# ll /usr/bin/expect

批量实现信任关系的脚本如下:
[root@server-202 ~]# vim /opt/ssh_auth.sh
#!/bin/sh
DEST_USER=$1
PASSWORD=$2
HOSTS_FILE=$3
if [ $# -ne 3 ]; then
echo “Usage:”
echo “$0 remoteUser remotePassword hostsFile”
exit 1
fi

SSH_DIR=~/.ssh
SCRIPT_PREFIX=./tmp
echo ===========================

1. prepare directory .ssh

mkdir $SSH_DIR
chmod 700 $SSH_DIR

2. generat ssh key

TMP_SCRIPT=KaTeX parse error: Expected 'EOF', got '#' at position 25: …EFIX.sh echo "#̲!/usr/bin/expec…TMP_SCRIPT
echo “spawn ssh-keygen -b 1024 -t rsa”>> T M P S C R I P T e c h o " e x p e c t ∗ k e y ∗ " > > TMP_SCRIPT echo "expect *key*">> TMPSCRIPTecho"expectkey">>TMP_SCRIPT
echo “send \r”>>$TMP_SCRIPT
if [ -f S S H D I R / i d r s a ] ; t h e n e c h o " e x p e c t ∗ v e r w r i t e ∗ " > > SSH_DIR/id_rsa ]; then echo "expect *verwrite*">> SSHD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值