一、SSH无密码登录原理
此操作是为了搭建hadoop集群进行的操作
Master(NameNode|JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode|Tasktracker)上的时候,需要在Master上生成一个密钥对(公钥和私钥),当Master通过SSH连接到Slave的时候,Slave就会生成 一个随机数并用Master的公钥对随机数进行加密,并发送给Master.Master收到加密数值再用私钥解密,并将解密数据回传给Slave,Slave确认解密数据无误之后就允许Master进行连接了,这就是公钥认证过程,期间不需要手动输入密码,重要的是将客户端Master复制到Slave上
二、前期准备
1、安装配置一台master服务器和一台slave服务器
172.128.120.0 localhost.hadoop 172.128.120.1 localhost.slave1 2、配置hosts文件
三、配置master免密登陆slave1
1、在Master机器上成成密钥对,文件默认保存在/home/hadoop/.ssh文件夹下
ssh-keygen:代表生成秘钥
-t:表示指定省的秘钥类型
rsa:秘钥类型
-P:用于提供密语
[-f]:指定生成的秘钥文件,是可选的
2、根据sshd_config中的配置,将公钥文件追加到授权的key里面去
3、查看/etc/ssh/sshd_config文件
4、修改authorized_keys文件的权限,因为权限不对的话不可以使用RSA功能
chmod 600 ~/.ssh/suthorized_keys
5、验证是否可以使用无密码登陆本机
6、将master上的公钥复制到slave1机器上
7、slave1机器上将master上复制来的公钥追加到authorized_keys文件中,并更改文件权限,同理也需要修改sshd_config配置文件
8、验证master无密登陆slave
四、配置slave1免密登陆master
1、slave1上生成秘钥
2、slave1上追加key并修改权限
3、复制slave1上的公钥到master上
4、在master服务器上将slave1的公钥追加到key文件中
5、查看aster的authorized_key文件就可以看到slave1的公钥也加入到其中了
6、验证slave1是否可以无密连接master