参考文章:
1.集群间多台机器SSH免密码登录(两种方法实现)
https://blog.csdn.net/timchen525/article/details/75579611
2.hadoop启动集群的免密码登陆设置(超详解附流程图)
https://blog.csdn.net/qq_25838777/article/details/80653481
3.Hadoop集群配置之免密登录
https://blog.csdn.net/tiandi345/article/details/79194079
作为基础环境搭建,我们在搭建一个集群环境的时候,一般都会配置免密登录。目的 : 方便集群中机器相互连接。
本文将分以下几个部分对配置免密进行讲解。
本人为了进行配置花了好多心思。。。
1.配置免密登录
1.1 生成空的密钥
1.2 将密钥 (id_rsa , id_rsa.pub) 传递给各机器
1.3 两种将 id_rsa.pub 追加到各个机器的 authorized_keys 两种方式
2.注意事项
2.1 各个文件的权限
2.2 .ssh 文件夹权限
3.常见问题解答
3.1 基本原理。校验流程
3.2 是否需要每台机器都生成密钥
3.3 是否需要关闭防火墙
3.4 是否一定是空的密钥
3.5 authorized_keys 中注释格式
首先,我们需要在集群中找一台机器 执行如下命令:(这里我们以 root 用户进行执行, -》
1.原因: 每台机器都有 root 用户
2.root 是超级管理员
)
注意: 这里生成 密钥 会覆盖原来的密钥。生成之前,请确认之前的密钥是否需要保存。
命令如下:
ssh-keygen -t rsa
一直按回车即可,我们选择空密钥。
执行完之后,我们切换到 ~/.ssh/ 下,看一下生成的文件
此时,该文件夹下面, 应该只有 id_rsa 与 id_rsa.pub 文件, authorized_keys 应该是没有的。
注意 文件的独写权限,分别是
id_rsa 600
id_rsa.pub 644
在很多文章中,都讲需要每台机器执行 1.1 生成一个空密钥,其实这个是不必要的,我们只需要在其中的一台机器上执行一次即可。
在该步奏中,我们要将 密钥传给其他的机器,作为其他机器的生成的密钥。
我们通过执行以下指令实现 : scp
scp ./id_rsa ./id_rsa.pub [email protected].***:~/.ssh/
请将上述 ip ,换为需要传递的地址。
注意,传递后的文件权限 需要与 主机上的 文件 权限相同。
将 id_rsa.pub 追加到 authorized_keys ,并发给集群的其他机器有 2种方式。
使用 ssh 自带的工具进行 管理,
ssh-copy-id -i ~/.ssh/id_rsa.pub root@master
上面命令的功能ssh-copy-id将pub值写入远程机器的~/.ssh/authorized_key中。
将 ~/.ssh/id_rsa.pub 追加到 authorized_key 文件中, 并传递给其他机器。
cat id_rsa.pub >> authorized_key
scp authorized_key [email protected].*:~/.ssh/
注意 authorized_key 的文件权限为 600
各个文件的权限如图所示。
[root@cdh-manager .ssh]# ll
total 16
-rw------- 1 root root 412 Dec 14 01:58 authorized_keys
-rw------- 1 root root 1679 Dec 13 08:17 id_rsa
-rw-r--r-- 1 root root 398 Dec 13 08:17 id_rsa.pub
.ssh 目录文件的权限应该为 700
drwx------. 2 root root 80 Dec 14 01:58 .ssh
校验流程如下:
不需要每台机器都生成密钥,只需要在其中一台机器生成密钥即可。
之后,我们只需要将密钥传给其他的机器。
不需要关闭防火墙,就能达到免密登录。
是的。生成的密钥必须是空密钥,
非空 密码, 测试没通过 ~~~
文件中可以用 # 注释
[root@cdh-manager .ssh]# cat authorized_keys
#集群免密
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaHl0zHV3ZAhJuhLWgs02WzMIDCMU3isnrAipOvQBjM5e7oEfh3RWcSVEef3TkHPagCw+3ovR49nKSMeWJGsw2dtI4V2uoNgrN0/XgBCmrqJ9EgXZrhlMJbsnU9Mjn2J8w13b5ZtTzC+5HLagYQn1yDnZsRk3B/SKFJqAuOE8i/itUp24NLuyK2etTUpBtStNtZnm2VRhEf9bZBxOfzJjbAz6trryKWN4UMI0xwHV4hWFhVnZmUly+nGfzNJAA2bQOt2MnVnw9xXLl7+ZYloYInXynU3y1TBR8NlffEbrJqKRGiwCCP9w09Wc2pqB/04qFYJTgn+bcGfBJD4zMZe5J root@cdh-manager
You have new mail in /var/spool/mail/root