centos 7 互信【ssh】

centos 7 互信【ssh】

 

环境

虚拟机+三个节点 centos 7.5

1.修改主机名字

命令格式:

hostnamectl set-hostname <hostname>【永久修改,重启生效】\
hostname master【临时修改,重启失效】

示例:


hostnamectl set-hostname master
hostname master

三个节点以此类推

2.修改映射关系

  1. 在master节点上修改/etc/hosts文件,添加如下内容:


$ vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# 以下是添加的
192.168.204.10 master
192.168.204.11 slave1
192.168.204.12 slave2
  1. 将master节点的hosts文件分发到slave节点:


scp /etc/hosts root@slave1:/etc/
scp /etc/hosts root@slave2:/etc/

这个过程会让你输入密码~~

3.启动ssh无密码登录

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


vim /etc/ssh/sshd_config

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

在这个文件中只有“Authentication:”选项,修改这个就行~~

  1. 再次通过scp命令将sshd_config文件分发到其他节点


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

4.生成公、私钥

  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....       |
|     .           |
|                 |
|                 |
+-----------------+
  1. 在master节点执行:


cat id_rsa.pub >> authorized_keys
  1. 查看slaves节点的id_rsa.pub文件,将文件内容复制到master节点的authorized_keys文件中

  2. 分发authorized_keys文件到slaves节点


scp authorized_keys root@slave1:~/.ssh/
scp authorized_keys root@slave2:~/.ssh/
  1. 重启sshd服务:【每个节点都要重启】


systemctl restart sshd.service

5.验证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

 

posted @ 2020-08-02 08:40  IT界的一名小学生  阅读(494)  评论(0编辑  收藏  举报