#安装openssh-clients,rsync等
#1.修改所有master和slave服务器的sshd_config,后面增加
UseDNS no
ClientAliveInterval 30
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#2.修改selinux为disabled,否则ssh-keygen -t dsa时将提示权限不足
vi /etc/selinux/config
将selinux=enforcing改为selinux=disabled,然后重启服务器或临时设置setenforce=0
#3.配置master可以无密码访问各slave,将master上面产生的authorized_keys(id_dsa.pub)拷贝到slave机器对应位置;
#若要各自互相访问,需将各服务器产生的id_dsa.pub全部都追加到同一个authorized_keys中,然后再将authorized_keys拷贝给各机器达到互相访问的效果
#(1)访问master
#su - hadoop
ssh-keygen -t dsa
#生成密钥对在/home/hadoop/.ssh/
#复制id_dsa.pub内容到同目录authorized_keys
cat id_dsa.pub >> authorized_keys
#修改authorized_keys权限为644/600(不能被其他用户修改)
chmod 644 authorized_keys
#这个时候可以ssh localhost成功
#(2)访问slave1
su - hadoop
mkdir ~/.ssh
chmod 700 ~/.ssh
#(3)访问master
su - hadoop
#需要输入密码
scp id_dsa.pub hadoop@slave ip:/home/hadoop/.ssh/authorized_keys
#此时完成无密码配置
ssh slave1 ip