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
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
mkdir -p /opt/auth
cd /opt/auth
vim hosts
vim hostnames
vim root.passwd
vim master
编辑后的这四个文件格式如图:
chmod 777 /opt/auth/*
cdmhostname=`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