首页 > 代码库 > 【linux系列】配置免密登陆

【linux系列】配置免密登陆

一、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文件夹下

技术分享

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

技术分享

【linux系列】配置免密登陆