天天看点

【linux】centos7 ssh互信配置

环境

  • 虚拟机+三个节点 centos 7.5 【ubuntu的配置类似】

    目录

    • 1.修改主机名字
    • 2.修改映射关系
    • 3.启动ssh无密码登录
    • 4.生成公、私钥
    • 5.验证ssh无密码登录
    • Tips.当使用以上方式达不到免密登陆,请使用ssh-copy-id命令

命令格式:

hostnamectl set-hostname #【永久修改,重启生效】

hostname master #【临时修改,重启失效】

示例:

hostnamectl set-hostname master

hostname master

三个节点以此类推

在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

将master节点的hosts文件分发到slave节点:

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

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

这个过程会让你输入密码

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

vim /etc/ssh/sshd_config

RSAAuthentication yes #开启私钥验证 这是需要添加的

PubkeyAuthentication yes #开启公钥验证,去掉注释即可

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

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

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

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

在每个节点输入:【执行过程一律回车】

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.... |

| . |

| |

+-----------------+

在master节点执行:

cd /root/.ssh

cat id_rsa.pub >> authorized_keys

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

分发authorized_keys文件到slaves节点

scp authorized_keys root@slave1:~/.ssh/

scp authorized_keys root@slave2:~/.ssh/

重启sshd服务:【每个节点都要重启】

systemctl restart sshd.service

[root@master]# ssh slave1

Last login: Tue Jun 26 11:35:53 2018 from master

[root@slave1 ~]#

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

语法格式:

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:指定公钥文件