说一下秘钥的认证过程吧:
基于秘钥的认证的前提是先进行用户认证,因为这样,才能使客户端的公钥有在服务端上
首先服务端有客户端的公钥,然后客户端将自己的公钥发给服务端,服务端判断原有的公钥和收到的公钥这两个公钥是否一致,若不一样,则认证失败,若一样,将公钥加密,发给客户端,若客户端能用私钥解开加密,则认证成功,然后,客户端用对称秘钥加密,然后将服务端同样的加密方式打包,发给服务端,最后通过对称秘钥来传输
首先有两个虚拟机,一个用做服务端,另一个用做服务端。
按照题目要求,在服务端增加xiaoming 和xiaohei 用户,并配上密码
[root@localhost xiaoming]# useradd xiaohei
[root@localhost xiaoming]# passwd xiaohei
然后,[root@localhost ssh]# vim /etc/ssh/sshd_config进入文本编辑
将默认端口的22改成2000,记得每次编辑文本后,都要重启一下服务
配置好后,我们去试一下2000端口登录
登录成功
然后将服务端远程登录设置为no
配置好后,再去试一下远程登录
发现输入密码正确,但也登录不了,说明配置成功
然后,去到客户端下,创建一个xiaoming用户,并登录服务端的xiaoming和xiaohei用户,且基于用户的方式登录:
登录成功
然后白名单(哪个用户可以被远程连接)创建,这里我们让xiaoming用户可以被连接,进入文本编辑
然后再去客户端试一下,发现xiaoming用户可以远程登录,而xiaohei不可以了
为了,实验成功,将其改回。
把之前的服务端不能被远程登录改回来



