1) 先在master上,生成公钥、私钥对
以hadoop身份登录到系统
cd (进入个人主目录,默认为/home/hadoop)
ssh-keygen -t rsa -P ''
即:以rsa算法,生成公钥、私钥对,-P ''表示空密码。该命令运行完后,会在个人主目录下生成.ssh目录,里面会有二个文件id_rsa(私钥) ,id_rsa.pub(公钥)
导入公钥
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
ssh localhost (或ssh master),如果不幸还是提示要输入密码,说明还没起作用,还有一个关键的操作
chmod 600 .ssh/authorized_keys (修改文件权限,否则不起作用)
2) 在其它机器上生成公钥、密钥,并将公钥文件复制到master
a) 以hadoop身份登录其它二台机器 slave01、slave02,执行 ssh-keygen -t rsa -P '' 生成公钥、密钥
b) 然后用scp命令,把公钥文件发放给master
slave1上:
scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa_1.pub
slave2上:
scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa_2.pub
3)在master上,导入这二个公钥
cat id_rsa_1.pub >> .ssh/authorized_keys
cat id_rsa_2.pub >> .ssh/authorized_keys
4)在 master 上 的authorized_keys 拷贝到 其他机器
scp .ssh/authorized_keys hadoop@slave1:/home/hadoop/.ssh/authorized_keys
scp .ssh/authorized_keys hadoop@slave2:/home/hadoop/.ssh/authorized_keys
5)修改其他机器上的文件权限:
chmod 600 .ssh/authorized_keys
6)验证,如果能够正常登录,表示就能够使用