ssh-keygen 生成私钥公钥 ssh-keygen -t rsa
https://blog.csdn.net/weixin_41831919/article/details/101618641
脚本文件
#!/bin/bash
set -e
echo "请选择你要执行的脚本内容:
1,建立互信,完成免密登录
2,登录每个节点执行shell命令查看信息
3,传输scp文件信息
0,退出!"
function choose1(){
for a in `cat $1 |awk '{print $1}'`
do
echo "IP地址:$a"
b=`cat $1 |grep -w $a |awk '{print $2}'`
echo "用户密码:$b"
sshpass -p $b ssh-copy-id -i ~/.ssh/id_rsa.pub root@$a -o StrictHostKeyChecking=no
sleep 1
done
}
function choose2(){
for a in `cat $1 |awk '{print $1}'`
do
echo "IP地址:$a"
b=`cat $1|grep -w $a |awk '{print $2}'`
echo "用户密码:$b"
sshpass -p $b ssh -o StrictHostKeyChecking=no root@$a $2
sleep 1
done
}
function choose3(){
for a in `cat $1 |awk '{print $1}'`
do
echo "IP地址:$a"
b=`cat $1|grep -w $a |awk '{print $2}'`
echo "用户密码:$b"
sshpass -p $b scp -o StrictHostKeyChecking=no $2 root@$a:$3
sleep 1
done
}
while :
do
read -p "请选择:" choose
case $choose in
0) echo "退出!"
break;;
1) echo "你选择了 建立互信,完成免密登录"
read -p "输入ip信息文件名:" ip
choose1 $ip;;
2) echo "你选择了 登录每个节点执行shell命令查看信息"
read -p "输入ip信息文件名:" ip
read -p "输入要执行的linux命令:" cmd
choose2 $ip $cmd;;
3) echo "你选择了 传输scp文件信息"
read -p "输入ip信息文件名:" ip
read -p "输入传输本地文件绝对位置:" src
read -p "输入传输目的绝对路径:" dts
choose3 $ip $src $dts;;
*) echo "你选择的不再选项范围内,请重新选择";;
esac
done
脚本运用