环境搭建-CentOS服务器之间设置免密码登录

  在做大数据项目分布式开发时会用到Hadoop组件,Hadoop集群由Namenode节点和Datanode节点组成,在运行启动集群操作时,需要从Namenode节点登录到Datanode节点,执行相关启动脚本,因此需要配置免密码登录。

1.使用root账户修改shhd_config配置文件

执行命令【vi /etc/ssh/sshd_config】


环境搭建-CentOS服务器之间设置免密码登录
修改shhd_config配置文件.png

去掉RSAAuthention yes前面的#
去掉PubkeyAuthentication yes前面的#


环境搭建-CentOS服务器之间设置免密码登录
shhd_config.png

然后运行命令【service sshd restart】生效配置
2.使用rsa非对称加密生成密钥

进入用户目录,运行命令【ssh-keygen -t rsa】生成密钥


环境搭建-CentOS服务器之间设置免密码登录
生成密钥.png

进入【.ssh】目录,会发现生成了如下几个文件:


环境搭建-CentOS服务器之间设置免密码登录
ssh目录.png

authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa:私钥文件

id_rsa.pub:公钥文件

3.将公钥添加到需要远程登录机器的authorized_keys文件中

在添加之前先做一个测试,现在通过【ssh localhost】命令试试本机有没有免密码登录


环境搭建-CentOS服务器之间设置免密码登录
测试.png

出现需要输入密码界面,证明还没有免密,需要将公钥添加到authorized_keys中,运行文件追加命令【cat id_rsa.pub >> authorized_keys】。
再通过【ssh localhost】命令试试本机有没有免密码登录:


环境搭建-CentOS服务器之间设置免密码登录
image.png

测试通过,现在就可以将公钥添加到需要远程登录机器的authorized_keys文件中,然后就实现了Namenode节点到Datanode节点的免密码登录。
上一篇:环境搭建-VMware上安装CentOS7


下一篇:环境搭建-在Windows Server 2012 R2上搭建单机版Elasticsearch+Kibana