当前位置:网站首页>##脚本编写ssh免密功能

##脚本编写ssh免密功能

2022-06-25 12:39:00 51CTO

      生产中,部署集群时,我们离不开机器与机器间的免密操作,所以我们用脚本来实现,减少时间。

      
      
#!/bin/bash
#实现自动化免密登录
read -p "请输入被控制虚拟机的IP:" ip
echo "$ip"
read -p "请输入被控制虚拟机的账号:" user
echo "$user"
read -p "请输入被控制虚拟机的端口号:" port
echo "$port"
if [ -z "$port" ]
then
Port=22
fi

read -p "生成对应的key(y/n):" key
echo "$key"

if [ "y" = "key" ]
then
echo "需要生成公钥私钥,请连续敲击三次回车~"
#3次回车后,在本地生成公钥私钥
ssh-keygen -t rsa
fi
echo "创建正在被控制虚拟机的文件夹.sh,输入被控制虚拟机的密码...."
scp -p "$port $user $ip "mkdir /root/server/ssh/.ssh ; chmod 0700 /root/server/ssh/.ssh""
echo "正在传输公钥和私钥,请输入被控制虚拟机的密码"
scp -P $port ~/.shh/id_rsa.pub [email protected]$ip:.ssh/id_rsa.pub
echo "正在生成免密登录,请输入被控制虚拟机的密码"
ssh -p $port $user $ip
if [ ! -f ~/.ssh/authorized_keys ]
then
touch ~/.ssh/authorized_keys
fi
chmod 600 ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
echo "恭喜您成功配置完成免密登录!!!请尝试登录..."
echo "ssh -p $port $user $ip"
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
原网站

版权声明
本文为[51CTO]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_15397018/5417638