SSH配置—Linux下实现免密码登录
准备两台Linux主机:
IP地址 192.168.0.150 user: test1 centos7.7 hostname: node-1
IP地址 192.168.0.151 user: test2 centos7.7 hostname: node-2
详细配置步骤:
1.配置主机名
两台主机分别配置主机名为node-1,node-2
第一台主机:
[root@node-1 ~]# hostnamectl set-hostname node-1
第二台主机:
[root@node-1 ~]# hostnamectl set-hostname node-2
2.关闭selinux
[root@node-1 ~]# vi /etc/selinux/config

设置setenforce 0 临时关闭selinux,或重启电脑使以上配置生效
[root@node-1 ~]# setenforce 0 第一台节点
[root@node-2 ~]# setenforce 0 第二台节点
3.配置SSH
SSH安装系统时默认已安装,如没有安装,使用yum安装;
4.分别建立test1,test2账号
[root@node-1 ~]# useradd test1
[root@node-1 ~]# passwd test1

同理,node-2也建立test2用户:
[root@node-2 ~]# useradd test2
[root@node-2 ~]# passwd test2

5.Node-1节点主机切换到test1账号,并生成秘钥
[root@node-1 ~]# su test1
[test1@node-1 root]$ cd ~
[test1@node-1 ~]$

[test1@node-1 ~]$ ssh-keygen -t rsa

在test1用户目录下生成对应的私钥和公钥
[test1@node-1 ~]$ ll /home/test1/.ssh/

6.Node-2节点主机切换到test2账号,并生成秘钥
[root@node-2 ~]# su test2

[test2@node-2 ~]$ ssh-keygen -t rsa

[test2@node-2 ~]$ ll /home/test2/.ssh/

7.将公钥导入到认证文件
建立test1的认证文件authorized_keys,保存的是公钥秘钥
[test1@node-1 ~]$ cat /home/test1/.ssh/id_rsa.pub >> /home/test1/.ssh/authorized_keys
[test1@node-1 ~]$ ll /home/test1/.ssh/

[test1@node-1 ~]$ cat /home/test1/.ssh/authorized_keys

将node-2节点主机的test2的公钥导入到test1的认证文件内:

输入node-2节点主机test2的密码,登录后会在test1的 .ssh目录下产生 known_hosts 文件:
查看authorized_keys文件,是否已有两台节点的公钥:
查看known_hosts文件,只看到到刚才登录node-2节点主机的密码验证信息:
使用 ssh命令登录node-1节点主机,输入密码,登录后再known-hosts文件里产生node-1节点主机的密码验证信息:

8.将认证文件复制到node-2节点主机的test2用户的 .ssh目录下
[test1@node-1 ~]$ scp /home/test1/.ssh/authorized_keys test2@192.168.0.151:/home/test2/.ssh/
[test1@node-1 ~]$ scp /home/test1/.ssh/known_hosts test2@192.168.0.151:/home/test2/.ssh/

查看node-2节点主机下用户test2的 .ssh目录下,确保authorized_keys 及 nkown_hosts文件与node-1节点主机下用户test1 保持一致:
[test2@node-2 ~]$ ll /home/test2/.ssh/

9.权限设置
[test1@node-1 ~]$ chmod 700 /home/test1/.ssh
[test1@node-1 ~]$ chmod 600 /home/test1/.ssh/authorized_keys

[test2@node-2 ~]$ chmod 700 /home/test2/.ssh
[test2@node-2 ~]$ chmod 600 /home/test2/.ssh/authorized_keys

10.免密码互访
[test1@node-1 ~]$ ssh test2@192.168.0.151

[test2@node-2 ~]$ ssh test1@192.168.0.150

来源:oschina
链接:https://my.oschina.net/u/4324735/blog/4652879
