Linux开启SSH服务,远程主机配置公钥登录实操

一、实操目的

1、掌握快速配置SSH服务的技能
2、掌握并对比客户端SSH登录的两种方式(基于口令认证/基于公钥认证)
3、加深对操作系统用户权限管理的理解
4、加深对SSH连接身份认证机制的理解

二、实操部分

实验环境:VMWare 17
网络环境:桥接模式(VMnet8)
主机:Kali2025(虚拟机192.168.232.131)
客户机:Win10(宿主机192.168.232.1)

注:后续以服务器管理人员视角,称Kali为主机(被连接),Win10为客户机(主动发起连接)

1、检查主机非对称钥匙对

image
主机钥匙存在

查看ed25519算法的公钥,记住他,待会要用
image

2、检查主机SSH配置文件

image

为了看得更清楚,这里采用vscode打开
image
检查了一下,没有问题

2、开启SSH服务

image

3、回到客户机用户目录,生成用于SSH连接的钥匙对

image
检查目录,确认生成了公私钥
image

4、打开客户机公钥文件,复制内容并存放到客户机的~/.ssh/authorized_keys

image

检查客户机用户目录,没有authorized_keys的自己touch一个
image

打开并把客户机公钥放进去
image

4、检查相关文件权限

确保~./ssh为700,authorized_keys为600,避免权限问题
image

5、回客户机,使用私钥作为签名器进行登录

image

    需要知道,这里只是用终端进行演示,现实里会用带图形化的终端管理工具,只要初次登录配置好密钥,以后就可以免密直接登录了。
    所以不要较真问为什么用了公钥认证反而更加繁琐,实际上是真香,还安全。

6、验证服务器指纹

虽然在自己机器上做实验这一步看起来确实没有必要,但是在实际生产环境中,对指纹进行验证可以有效防止MITI

还记得第一步记下的主机ed25519公钥吗,写个脚本计算出SHA256
image

输出结果如下
image

与这里的指纹进行比对
image

内容相同,目的主机可信,输入yes,即可免密登录,直接进入终端
image

另外也可以直接把主机密钥拿到客户机上,使用ssh-keygen -lf进行检验
image

三、SSH登录认证机制

本实操是基于已经学习了SSH认证的基础,如有遗忘,参考之前的文章《SSH连接抓包分析》

四、OpenSSL生成钥匙对与SSH专用钥匙对区别

之前已经研究过OpenSSL去生成几个算法的密钥对,实操视频:这里

posted @ 2026-01-20 01:14  wyuu101  阅读(1)  评论(0)    收藏  举报