SSH配置—Linux下实现免密码登录

半城伤御伤魂 提交于 2020-09-28 17:34:21

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






SSH配置—Linux下实现免密码登录

设置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

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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


SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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/


SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录
输入node-2节点主机test2的密码,登录后会在test1的 .ssh目录下产生 known_hosts 文件:
SSH配置—Linux下实现免密码登录
查看authorized_keys文件,是否已有两台节点的公钥:
SSH配置—Linux下实现免密码登录



查看known_hosts文件,只看到到刚才登录node-2节点主机的密码验证信息:
SSH配置—Linux下实现免密码登录

使用 ssh命令登录node-1节点主机,输入密码,登录后再known-hosts文件里产生node-1节点主机的密码验证信息:
SSH配置—Linux下实现免密码登录

SSH配置—Linux下实现免密码登录

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/

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

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

SSH配置—Linux下实现免密码登录

Zabbix5.0企业级分布式监控系统:精讲与企业应用
SSH配置—Linux下实现免密码登录

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!