天天看点

环境搭建-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节点的免密码登录。