先在master上执行以下命令
ssh-keygen -t rsa -P ''
systemctl restart sshd
sshd_config中指定的公钥路径:authorized_keys
ssh免密登录的实质:公钥给别人,私钥给自己。
再在master上执行以下脚本 ↓
#/usr/bin/sh
for((i=1;i<3;++i))
do
host="slave0"$i
cat ~/.ssh/id_rsa.pub|ssh hadoop@${host} 'cat - >> ~/.ssh/authorized_keys'
ssh hadoop@${host} 'chmod 600 ~/.ssh/authorized_keys'
ssh root@${host} 'systemctl restart sshd'
done
脚本并不是配置ssh服务的最佳解决办法,可以把master的公钥传到NFS中,让每一台slave都将此公钥追加到自己的authorized_keys中,再重启该ssh服务,相对来说便捷一些。