这条核查要回答什么
远程登录加固有两条主线:不允许以最高权限账号直接登录,以及尽量不依赖口令认证。核查就是确认这两项的当前生效值,并确认系统仍然保留了可用的替代登录方式——如果直接关闭却没准备密钥或跳板通道,整改动作本身就会变成故障。结论要包含当前值、目标值与替代通道三部分。
基本信息
| 加固项 | 远程登录方式收敛 |
|---|---|
| 适用平台 | Linux(OpenSSH 服务端) |
| 风险等级 | 高 |
| 判读 | 最高权限账号不得用口令直接登录,认证方式按组织要求收敛 |
| 数据来源 | 以服务生效配置输出为准,不看配置文件写法 |
典型使用场景
- 公网服务器加固:关闭最高权限账号的口令直登
- 等保远程管理:要求远程管理采用加密与更强鉴别方式
- 整改前置检查:确认替代通道可用后再收紧配置
- 事件后收紧:发生爆破后立即调整登录方式
- 变更复核:改完确认真实生效值,而不是只看改动动作
核查命令
核查命令
sudo sshd -T | grep -i permitrootlogin
sudo sshd -T | grep -iE 'passwordauthentication|pubkeyauthentication|kbdinteractiveauthentication'
ss -tnp | grep :22 | head -10 # 当前活动连接
ls -l /root/.ssh /home/*/.ssh 2>/dev/null | head # 授权密钥文件是否存在
sudo grep -rn 'PermitRootLogin' /etc/ssh/sshd_config.d/ 2>/dev/null # 检查引入目录取值含义对照
| 配置项 | 取值 | 含义 |
|---|---|---|
| PermitRootLogin | no | 完全禁止最高权限账号远程登录 |
| PermitRootLogin | prohibit-password | 仅允许密钥方式,禁止口令方式 |
| PermitRootLogin | yes | 允许口令直登,属于高危配置 |
| PasswordAuthentication | no | 关闭口令认证,爆破失效 |
| KbdInteractiveAuthentication | no | 关闭交互式认证,避免口令经此路径仍可用 |
改配置前先确认替代登录通道可用:密钥是否已下发、跳板或堡垒机是否可接入、云控制台是否已开通。顺序错误会导致所有远程通道同时失效,而这类改动往往发生在生产环境的核心主机上。
配置可能不只在一个文件里:新版发行版会把配置分散到引入目录中,只看主配置文件会得出错误结论。核查统一以服务生效配置的输出为准,它会把各文件与默认值合并展开,是唯一可靠的判读依据。
加固步骤与验证
推荐顺序:先确认替代通道可用并保留一个已登录会话;再修改配置,把最高权限账号的登录方式收敛为仅密钥或完全禁止;然后做语法校验并重载服务;接着新开一个连接验证密钥登录可用、口令登录被拒;最后再取一次生效配置确认值已更新。整个过程留档,形成可复查的闭环。