Linux 安全:如何硬化 sshd_config (禁用弱算法 / 协议版本)
发布时间 - 2025-11-21 00:00:00 点击率:次明确禁用SSHv1并限制加密算法可提升安全性:配置Protocol 2,设置安全的KexAlgorithms、Ciphers和Macs,关闭密码认证与root登录,重启sshd服务并验证配置有效性。
SSH 是系统管理中最常用的远程访问工具,但默认配置可能包含不安全的算法和协议版本。通过合理配置 /etc/ssh/sshd_config,可以显著提升 SSH 服务的安全性,防止中间人攻击、暴力破解和已知漏洞利用。
禁用不安全的 SSH 协议版本
SSH 协议有两个主要版本:SSHv1 和 SSHv2。SSHv1 存在严重安全缺陷(如易受中间人攻击),必须禁用。
确保配置中明确只使用 SSHv2:- Protocol 2 —— 显式启用协议版本 2 并禁用 v1
禁用弱加密算法和密钥交换方法
OpenSSH 支持多种加密、密钥交换(KEX)和消息认证码(MAC)算法。部分老旧算法(如 CBC 模式加密、MD5 哈希)已被证明不安全,应主动移除。
推荐在 sshd_config 中显式禁用以下内容:-
KexAlgorithms —— 限制密钥交换算法,例如:
KexAlgorithms curve25519-sha256,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256 -
Ciphers —— 禁用 CBC 模式,使用更安全的 CTR 或 GCM 模式:
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr -
Macs —— 禁用基于 MD5 和 SHA1 的 MAC:
Macs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128-etm@openssh.com
-etm@openssh.com 后缀的 MAC 算法可提供“加密然后 MAC”保护,增强抗攻击能力。
禁用不安全的身份验证方式
减少攻击面,关闭不必要的登录选项。
- PubkeyAuthentication yes —— 推荐使用公钥认证
- PasswordAuthentication no —— 若使用密钥登录,应禁用密码认证
- PermitEmptyPasswords no —— 防止空密码登录
- ChallengeResponseAuthentication no —— 禁用交互式响应认证
- PermitRootLogin no —— 禁止 root 直接登录(建议用普通用户 + sudo)
应用配置并验证更改
修改完成后,必须重启 SSH 服务并测试连接,避免被锁在服务器外。
- 保存配置后运行:
sudo systemctl restart sshd - 使用另一终端测试连接,确认新配置有效
- 可用命令检查当前支持的算法:
ssh -Q kex、ssh -Q cipher、ssh -Q mac - 使用扫描工具检测弱点,如:
nmap --script ssh2-enum-algos target_ip
基本上就这些。定期更新 OpenSSH 版本,并关注官方安全公告,能进一步保障服务安全。配置虽小,却能有效抵御自动化扫描和常见攻击。
# linux
# word
# go
# 工具
# mac
# enum
# 算法
# ssh
# 自动化
# 加密算法
# 不安全
# 重启
# 已被
# 推荐使用
# 却能
# 普通用户
# 最常用
# 移除
# 虽小
# 身份验证
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在香港服务器上快速搭建免备案网站?
网站制作壁纸教程视频,电脑壁纸网站?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
如何在服务器上配置二级域名建站?
Laravel如何实现API资源集合?(Resource Collection教程)
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
微信公众帐号开发教程之图文消息全攻略
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
浅谈javascript alert和confirm的美化
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
node.js报错:Cannot find module 'ejs'的解决办法
如何做网站制作流程,*游戏网站怎么搭建?
公司网站制作价格怎么算,公司办个官网需要多少钱?
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
Laravel如何升级到最新版本?(升级指南和步骤)
简单实现Android验证码
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
如何快速启动建站代理加盟业务?
js实现获取鼠标当前的位置
JS去除重复并统计数量的实现方法
如何用低价快速搭建高质量网站?
在线制作视频网站免费,都有哪些好的动漫网站?
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
Laravel如何实现模型的全局作用域?(Global Scope示例)
如何快速搭建高效WAP手机网站吸引移动用户?
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
网站制作大概多少钱一个,做一个平台网站大概多少钱?
音响网站制作视频教程,隆霸音响官方网站?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
利用JavaScript实现拖拽改变元素大小
WordPress 子目录安装中正确处理脚本路径的完整指南
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
香港服务器如何优化才能显著提升网站加载速度?
如何用AI帮你把自己的生活经历写成一个有趣的故事?
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
Linux系统命令中screen命令详解
Laravel如何配置任务调度?(Cron Job示例)
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
网站优化排名时,需要考虑哪些问题呢?


