RH124简单知识点——第8章——配置和保护SSH

第8章 配置和保护SSH

1.SSH 如何实现用户的免密登录?

答:

(1)原理:

本地生成的公钥上传到目标服务器 ,后续登录时服务器用公钥验证身份,无需输入密码。

(2)步骤

第一步:

在本地执行"ssh-keygen"生成密钥对;

默认路径:~/.ssh/id_rsa(私钥) ~/.ssh/id_rsa.pub(公钥)。

执行命令:

ssh-keygen ~/.ssh/id_rsa

如:

第二步:

确保目标服务器~/.ssh目录权限为700,authorized_keys 权限为 600,避免权限过宽导致验证失败;

第三步:

将公钥复制到目标服务器的 ~/.ssh/authorized_keys 文件中。

执行命令:

(1)通过 scp 复制公钥文件到目标服务器(推荐,简单直接)

scp ~/.ssh/id_rsa.pub 目标用户名@目标服务器IP:~/.ssh/authorized_keys

(2)通过 ssh 命令直接追加公钥内容(无需单独复制文件)

cat ~/.ssh/id_rsa.pub | ssh 目标用户名@目标服务器IP "cat >> ~/.ssh/authorized_keys"

验证:

本地执行登录命令,若无需输入密码直接进入目标服务器,则免密登录配置成功:

注:

(1)私钥权限必须为 600,若权限过宽(如 755),SSH 会拒绝使用,报错 "Bad permissions"

(2)目标服务器的 ~/.ssh 目录权限必须为 700,authorized_keys 文件权限必须为 600,否则验证时会因 "权限不安全" 被拒绝;

(3)若目标服务器已存在 authorized_keys 文件,需用 >>(追加)而非 >(覆盖),避免覆盖已有公钥导致其他用户无法登录。

2.SSH 的公钥和私钥有什么区别?它们分别存放在哪里?

答:

|------|-----------------------------------------------------|--------------------|
| 对比项 | 公钥 | 私钥 |
| 作用 | 公开给远程服务器,用于加密数据或验证签名 | 本地严格保密,用于解密数据或生成签名 |
| 存放位置 | 本地:~/.ssh/id_rsa.pub 目标服务器:~/.ssh/authorized_keys | 本地:~/.ssh/id_rsa |
| 权限要求 | 可公开,无严格权限限制 | 必须严格保密,权限设为 600 |

公钥是公开的,用来加密和验证身份,放在目标服务器的 authorized_keys 里;私钥是保密的,用来解密,存在本地 ~/.ssh 目录。只有持有对应私钥的本地主机才能 "解锁",从而完成身份验证。

3.如何设置禁止直接远程登录 root 账户?

答:

(1)编辑 SSH 配置文件:vim /etc/ssh/sshd_config。

(2)修改配置项:PermitRootLogin no。

(3)重启 sshd 服务使配置生效:systemctl restart sshd。

4.如何设置禁止使用基于密码的身份验证来进行远程登录?

答:

(1)编辑 SSH 配置文件:vim /etc/ssh/sshd_config。

(2)修改配置项:PasswordAuthentication no。

注意:必须先配置好免密登录,否则会被锁定无法登录。

(4)重启 sshd 服务:systemctl restart sshd。

5.在修改 sshd 配置文件后,需要执行什么操作让修改生效?

答:

(1)重新加载

systemctl reload sshd

执行逻辑:

向 sshd 服务发送重载信号,服务在不停止运行的情况下重新读取配置文件,现有 SSH 连接不会被中断。

适用场景:

在线生产环境,需避免断开当前正在进行的远程操作(如运维人员正在执行重要脚本)。

(2)完全重启

systemctl restart sshd

执行逻辑:

先停止 sshd 服务,再重新启动,期间所有现有 SSH 连接会被断开。

适用场景:

测试环境,或无需保留现有连接的场景(如配置修改后需要彻底重启服务确保生效)。

相关推荐
2601_960567962 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧3 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈3 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HiDev_3 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling4 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind4 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森4 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客4 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝5 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维
XMAIPC_Robot5 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发