使四台主机可以通过ssh互相登陆,且免密码验证。
1.安装必要的组件
sudo apt-get install rsync
sudo apt-get install openssh-client
sudo apt-get install openssh-server
2.使用hadoop用户登陆master,生成公钥、私钥对
hadoop@master:~$ sudo ssh-keygen -t rsa -p''
3.将id_rsa.pub加入到授权的key中
hadoop@master:~$ sudo cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4.在本机上测试一下,自己连自己:
hadoop@master:~$ ssh master
第一次连接需要输入yes确认,若仍需要输入密码则需要提高authorized_keys的权限:
hadoop@master:~$ sudo chmod 600 .ssh/authorized_keys
至此,第一台机器就搞定了。
5.hadoop用户分别登陆其余slave机,分别如上生成密钥对。
6.将3台slave的id_rsa.pub复制到master上:
slave1:
hadoop@slave1:~$ scp /home/hadoop/.ssh/id_rsa.pub hadoop@master:/home/hadoop/.ssh/slave1
slave2:
hadoop@slave2:~$ scp /home/hadoop/.ssh/id_rsa.pub hadoop@master:/home/hadoop/.ssh/slave2
slave3:
hadoop@slave3:~$ scp /home/hadoop/.ssh/id_rsa.pub hadoop@master:/home/hadoop/.ssh/slave3
7.将三台slave的密钥加入到授权的key中
hadoop@master:~$ sudo cat ~/.ssh/slave1 >> ~/.ssh/authorized_keys
hadoop@master:~$ sudo cat ~/.ssh/slave2 >> ~/.ssh/authorized_keys
hadoop@master:~$ sudo cat ~/.ssh/slave3 >> ~/.ssh/authorized_keys
至此,三台slave登入master就应该可以免密码登入了。
8.将master的授权公钥复制到所有的slave机器上
hadoop@master:~$ scp /home/hadoop/.ssh/authorized_keys hadoop@slave1:/home/hadoop/.ssh/authorized_keys
hadoop@master:~$ scp /home/hadoop/.ssh/authorized_keys hadoop@slave2:/home/hadoop/.ssh/authorized_keys
hadoop@master:~$ scp /home/hadoop/.ssh/authorized_keys hadoop@slave3:/home/hadoop/.ssh/authorized_keys
至此,master登入三台slave也可以免密码登入了,可以在任意一台电脑上登陆任意其他电脑或自己测试一下。
hadoop@master:~$ ssh slave2
hadoop@slave2:~$ ssh slave2
hadoop@slave2:~$ ssh slave3
hadoop@slave3:~$ ssh master