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

实验环境

服务器端:vmnet1 静态ip :192.168.10.6,安装telnet-server,创建用户zhangsan
客户端:vmnet1 静态ip:192.168.10.7,安装telnet客户端,创建用户lisi
保证客户端、服务器端可以通信
提前知道lisi私钥短语
密钥对登录
免密码登录
我将默认端口改为了2200
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

(1)修改ssh配置文件
vim /etc/ssh/sshd_config
开启下面三项
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

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

(2)客户端切换到lisi,创建密钥对
su - lisi
ssh-keygen -t rsa
设置私钥短语,不能太简单dr123456
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

(3)服务器端zhangsan:配置文件允许lisi登录
创建.ssh :
su - lisi
mkdir .ssh/
拷贝客户端lisi的公钥文件到服务器端的zhangsan下
scp -P 2200 id_rsa.pub zhangsan@192.168.10.6:/home/zhangsan/.ssh/ zhangsan.pub
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

服务器zhnagsan查看公钥文件并输出到authoritzed_keys
cat alice.pub>>authoritzed_keys
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

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

或者可以不注释,将yes改为no
ssh zhangsan@192.168.10.6 -p 2200,连接失败
和客户端权限一样chmod 700
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

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

修改authorized_keys权限为700
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

(4)客户端lisi ssh 远程登录连接
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

此时密钥对登录成功
冒充身份进行密钥验证登录
(1)客户端新建用户hacker
useradd hacker
(2)客户端生成公钥文件:
su - hacker
ssh -keygen -t rsa
私钥短语:dr123456(不能太简单)
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

(3)ssh 登录服务器
ssh zhangsan@192.168.10.6,拒绝访问,因为服务器端的~/.ssh/authorized_keys文件中没有hacker的公钥文件
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

(4)hacker不可访问lisi,但是root可以,可以切换到root里将lisi的公钥文件拷贝到hacker的公钥文件里,此时hacker已经获取了lisi的私钥短语和公钥文件,此时可以假冒lisi的身份ssh远程登录服务器端的zhangsan
【SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充】cp /home/lisi/.ssh/* /home/hacker/.ssh/
SSH下密钥对验证登录免密码登录,第三方获取私钥短语,公钥文件进行身份进行身份冒充
文章图片

    推荐阅读