SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充

实验环境

服务器端:vmnet1 静态ip :192.168.10.6,安装telnet-server,创建用户zhangsan
客户端:vmnet1 静态ip:192.168.10.7,安装telnet客户端,创建用户lisi
保证客户端、服务器端可以通信
提前知道lisi私钥短语

密钥对登录

免密码登录
我将默认端口改为了2200
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充_第1张图片

(1)修改ssh配置文件

vim /etc/ssh/sshd_config

开启下面三项
在这里插入图片描述
在这里插入图片描述

(2)客户端切换到lisi,创建密钥对

su - lisi
ssh-keygen -t rsa
设置私钥短语,不能太简单dr123456

SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充_第2张图片

(3)服务器端zhangsan:配置文件允许lisi登录

创建.ssh :
su - lisi
mkdir .ssh/

拷贝客户端lisi的公钥文件到服务器端的zhangsan下
scp -P 2200 id_rsa.pub [email protected]:/home/zhangsan/.ssh/ zhangsan.pub
在这里插入图片描述
服务器zhnagsan查看公钥文件并输出到authoritzed_keys
cat alice.pub>>authoritzed_keys
在这里插入图片描述

禁用密码认证
或者可以
或者可以不注释,将yes改为no

ssh [email protected] -p 2200,连接失败
和客户端权限一样chmod 700
在这里插入图片描述
在这里插入图片描述
修改authorized_keys权限为700
在这里插入图片描述
(4)客户端lisi ssh 远程登录连接
在这里插入图片描述

此时密钥对登录成功

冒充身份进行密钥验证登录

(1)客户端新建用户hacker

useradd hacker

(2)客户端生成公钥文件:

su - hacker
ssh -keygen -t rsa
私钥短语:dr123456(不能太简单)
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充_第3张图片

(3)ssh 登录服务器

ssh [email protected],拒绝访问,因为服务器端的~/.ssh/authorized_keys文件中没有hacker的公钥文件
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充_第4张图片

(4)hacker不可访问lisi,但是root可以,可以切换到root里将lisi的公钥文件拷贝到hacker的公钥文件里,此时hacker已经获取了lisi的私钥短语和公钥文件,此时可以假冒lisi的身份ssh远程登录服务器端的zhangsan

cp /home/lisi/.ssh/* /home/hacker/.ssh/
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充_第5张图片

你可能感兴趣的:(Linux操作系统)