centos7设置互信免密登录

2020年06月04日 101点热度 0人点赞 0条评论

很多人要设置互信,也就是免密登录,但为什么要设置呢?

因为互信可以让你的机器之间不需要输入密码就可以互相登录进去,这样就方便了机器之间的操作,也是大数据中hadoop集群搭建所必须的一个步骤。

当然,免密登录只是搭建hadoop集群前的所需步骤之一,配置静态ip也是本地搭建hadoop集群学习环境的一个步骤。

在设置互信免密登录之前,需要修改主机hostname(虚拟机安装的centos7),以及机器之间的映射关系,假设这两项你已经设置好了。

环境说明

vmware workstation

centos7:3台

所有命令均在root账户下执行

开启ssh无密码登录

1.在master节点的:/etc/ssh/sshd_config文件中去掉注释

vim /etc/ssh/sshd_config

RSAAuthentication yes      #开启私钥验证
PubkeyAuthentication yes   #开启公钥验证

2.通过scp命令将sshd_config文件远程复制到其他节点

scp /etc/ssh/sshd_config root@slave1:/etc/ssh/
scp /etc/ssh/sshd_config root@slave2:/etc/ssh/

生成公、私钥

1.在每个节点执行(执行过程中一律回车):

ssh-keygen -t rsa -P ''

结果如下:

[root@master ~]# ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
22:42:2d:15:39:cc:f6:4a:9c:da:57:5b:55:b8:18:5d root@master
The key's randomart image is:
+--[ RSA 2048]----+
|   ooo     . +E  |
|   o*     . +    |
|  oo.+     + .   |
| . .+ . . o .    |
|  .+....So       |
|  ..o....        |
|     .           |
+-----------------+

2.在master节点执行:

cat id_rsa.pub >> authorized_keys

3.查看其他节点的id_rsa.pub文件,将文件中的内容复制到master节点的authorized_keys(自己创建)中,保存退出。

4.分发authorized_keys文件到其他节点:

scp authorized_keys root@slave1:~/.ssh/
scp authorized_keys root@slave2:~/.ssh/

5.重启sshd服务(每个节点都需要重启):

systemctl restart sshd.service

6.验证ssh免密登录是否成功:

[root@master]# 
[root@master]# ssh slave1
Last login: Tue Jun 26 11:35:53 2018 from master
[root@slave1 ~]# 

第一次登录的时候,会提示你输入密码,选择yes/no的时候,yes

Tips:当使用以上方式达不到免密登录,请使用ssh-copy-id命令

语法格式:

ssh-copy-id [-i [identity_file]] user@machine

选项
-i:指定公钥文件

实例1:不指定公钥文件

[root@master]# ssh-copy-id root@slave1
[root@master]# ssh-copy-id root@slave2

实例2:指定公钥文件

[root@master]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave1
[root@master]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave2

如果提示:

[root@master]# ssh-copy-id:command not found

执行以下命令:

[root@master]# yum -y install openssh-clients 

阿布

源自灵魂深处的自我救赎。

文章评论