现有三台linux服务器,需要配置相互之间的ssh免密登录
步骤
三台主机上均需要执行如下脚本。
shell 代码
#!/bin/bash
HOST1=192.168.10.1
HOST2=192.168.10.2
HOST3=192.168.10.3
USER=me
# 配置密钥登录
KeyGen(){
Remote_Host=$1
echo "+++++ 配置和主机 ${Remote_Host} 之间的密钥登录. +++++"
sleep 1
echo "[+] 1-2 开始生成密钥, 输入相关信息:"
sleep 1
if [ -f ~/.ssh/id_rsa -a ~/.ssh/id_rsa.pub ];then
echo "[+] 密钥文件已存在."
else
ssh-keygen -t rsa
if [ $? -eq 0 ];then
echo "[+] 生成密钥成功."
else
echo "[-] 生成密钥失败."
exit 1
fi
fi
sleep 1
echo "[+] 2-2 将密钥文件同步到 ${Remote_Host}"
sleep 1
echo "[+] 输入 ${Remote_Host} ${USER} 用户的密码."
sleep 1
cd ~/.ssh && \
ssh-copy-id -i id_rsa.pub ${USER}@${Remote_Host}
if [ $? -eq 0 ];then
echo "[+] 密钥登录配置成功."
else
echo "[-] 密钥登录配置失败."
exit 1
fi
sleep 1
}
KeyGen ${HOST1}
KeyGen ${HOST2}
KeyGen ${HOST3}