Ubuntu 16.04服务器之间配置无密码打通

apt-get install -y lrzsz sshpass

mkdir -p /opt/auth
cd /opt/auth
vim hosts
vim hostnames
vim root.passwd
vim master

编辑后的这四个文件格式如图:

Ubuntu 16.04服务器之间配置无密码打通

chmod 777 /opt/auth/*

cd

mhostname=`cat /opt/auth/master | cut -d " " -f 2`
echo $mhostname > /etc/hostname
cat /opt/auth/master >> /etc/hosts
cat /opt/auth/hostnames | awk -F',' '{print $1" "$2}' >> /etc/hosts
cat /etc/hosts

for ip_hostname in $(cat /opt/auth/hostnames)
do
ip=`echo $ip_hostname | cut -d "," -f 1`
hostname=`echo $ip_hostname | cut -d "," -f 2`
sshpass -f /opt/auth/root.passwd ssh -oStrictHostKeyChecking=no [email protected]$ip "cat > /etc/hosts" < /etc/hosts
sshpass -f /opt/auth/root.passwd ssh -oStrictHostKeyChecking=no [email protected]$ip "echo $hostname > /etc/hostname;reboot"
done

reboot

mkdir -p -m 700 .ssh; cd .ssh;
ssh-****** -t rsa -P "" -f ~/.ssh/id_rsa
cp id_rsa.pub authorized_keys; touch authorized_keys; chmod 600 authorized_keys;
cd

for host in $(cat /opt/auth/hosts)
do
sshpass -f /opt/auth/root.passwd ssh -oStrictHostKeyChecking=no [email protected]$host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
done

for host in $(cat /opt/auth/hosts)
do
ssh -oStrictHostKeyChecking=no $host 'ssh-****** -t rsa -P "" -f ~/.ssh/id_rsa';
ssh -oStrictHostKeyChecking=no $host 'cat .ssh/id_rsa.pub' >> ~/.ssh/authorized_keys
done

for host in $(cat /opt/auth/hosts)
do
ssh -oStrictHostKeyChecking=no $host 'cat > ~/.ssh/authorized_keys' < ~/.ssh/authorized_keys
done

mip=`cat /opt/auth/master | cut -d " " -f 1`
mhostname=`cat /opt/auth/master | cut -d " " -f 2`
ssh-keyscan -t rsa $mip >> ~/.ssh/known_hosts
ssh-keyscan -t rsa $mhostname >> ~/.ssh/known_hosts

for ip_hostname in $(cat /opt/auth/hostnames)
do
ip=`echo $ip_hostname | cut -d "," -f 1`
hostname=`echo $ip_hostname | cut -d "," -f 2`
ssh-keyscan -t rsa $ip >> ~/.ssh/known_hosts
ssh-keyscan -t rsa $hostname >> ~/.ssh/known_hosts
done

for host in $(cat /opt/auth/hosts)
do
ssh -oStrictHostKeyChecking=no $host 'cat > ~/.ssh/known_hosts' < ~/.ssh/known_hosts
done

apt-get update
apt install -y ntp

update-rc.d ntp defaults

for host in $(cat /opt/auth/hosts)
do
ssh -oStrictHostKeyChecking=no $host 'apt-get update;apt-get install -y ntp;update-rc.d ntp defaults'
done