Linux_ SSH 配置免密登录,集群互通

参考文章:

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 中注释格式

 

 

1.配置免密登录

 

  1.1 生成空的密钥 

 

首先,我们需要在集群中找一台机器 执行如下命令:(这里我们以 root 用户进行执行, -》

1.原因: 每台机器都有 root 用户

2.root 是超级管理员

 

注意: 这里生成 密钥 会覆盖原来的密钥。生成之前,请确认之前的密钥是否需要保存。

命令如下:

ssh-keygen -t rsa   

一直按回车即可,我们选择空密钥。

 

执行完之后,我们切换到 ~/.ssh/ 下,看一下生成的文件

Linux_ SSH 配置免密登录,集群互通_第1张图片

此时,该文件夹下面, 应该只有 id_rsa  与 id_rsa.pub 文件, authorized_keys 应该是没有的。

注意   文件的独写权限,分别是

id_rsa 600

id_rsa.pub 644

 

   1.2 将密钥 (id_rsa , id_rsa.pub)  传递给各机器

在很多文章中,都讲需要每台机器执行  1.1 生成一个空密钥,其实这个是不必要的,我们只需要在其中的一台机器上执行一次即可。

在该步奏中,我们要将 密钥传给其他的机器,作为其他机器的生成的密钥。

我们通过执行以下指令实现 : scp

scp ./id_rsa ./id_rsa.pub [email protected].***:~/.ssh/

请将上述 ip ,换为需要传递的地址。

Linux_ SSH 配置免密登录,集群互通_第2张图片

 

注意,传递后的文件权限 需要与 主机上的  文件 权限相同。 

 

 

 

   1.3 两种将 id_rsa.pub 追加到各个机器的 authorized_keys 两种方式

 

将 id_rsa.pub  追加到 authorized_keys ,并发给集群的其他机器有 2种方式。

 

方式 1 :

使用 ssh 自带的工具进行 管理,

ssh-copy-id -i ~/.ssh/id_rsa.pub root@master

上面命令的功能ssh-copy-id将pub值写入远程机器的~/.ssh/authorized_key中。

 

 

方式 2 :  

将  ~/.ssh/id_rsa.pub 追加到 authorized_key 文件中, 并传递给其他机器。

cat id_rsa.pub >> authorized_key

scp authorized_key [email protected].*:~/.ssh/

 

注意 authorized_key 的文件权限为 600 

Linux_ SSH 配置免密登录,集群互通_第3张图片

 

2.注意事项

 

   2.1 各个文件的权限

 

各个文件的权限如图所示。

[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

 

   2.2  .ssh 文件夹权限

 

.ssh  目录文件的权限应该为  700

drwx------.  2 root root    80 Dec 14 01:58 .ssh
 

Linux_ SSH 配置免密登录,集群互通_第4张图片

 

3.常见问题解答

 

   3.1 基本原理。校验流程

 

校验流程如下:

Linux_ SSH 配置免密登录,集群互通_第5张图片

 

 

   3.2 是否需要每台机器都生成密钥

 

不需要每台机器都生成密钥,只需要在其中一台机器生成密钥即可。

之后,我们只需要将密钥传给其他的机器。

 

 

   3.3 是否需要关闭防火墙

不需要关闭防火墙,就能达到免密登录。

 

   3.4 是否一定是空的密钥

 

是的。生成的密钥必须是空密钥, 

非空 密码, 测试没通过  ~~~

 

  3.5 authorized_keys 中注释格式

 

文件中可以用 # 注释

[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

 

你可能感兴趣的:(大数据,Linux)