ssh-audit是最高效SSH安全配置修复方式,它纯Python、免安装、只诊断不修改:克隆即用,扫描输出红/黄/绿分级报告,精准定位弱kex(如diffie-hellman-group1-sha1)、过时cipher(如3des-cbc)和危险MAC(如hmac-md5),再依报告在sshd_config中显式配置强算法集并重载服务。

直接用 ssh-audit 扫描并对照报告改配置,是最高效的方式。它不依赖系统包管理器,也不修改任何服务,只做“诊断+建议”,修复动作全由你掌控。
快速部署与基础扫描
ssh-audit 是纯 Python 脚本,无需安装,克隆即用:
- 执行:
git clone https://gitcode.com/gh_mirrors/ssh/ssh-audit && cd ssh-audit - 检测默认端口(22):
python ssh-audit.py 192.168.1.100 - 检测非标端口(如 2222):
python ssh-audit.py -p 2222 192.168.1.100
首次运行会输出横幅、协议支持、密钥交换(kex)、加密(ciphers)、MAC、压缩等模块的逐项评估,每项带颜色标识:绿色=安全,黄色=警告,红色=危险(应禁用)。
聚焦加密配置隐患的识别要点
加密配置隐患主要集中在三类算法上,ssh-audit 会明确标出问题根源:
-
弱密钥交换算法:如
diffie-hellman-group1-sha1(1024 位模数 + SHA-1),存在 Logjam 攻击风险,报告中会同时标记PROBLEM_1024BIT_MODULUS和PROBLEM_LOGJAM_ATTACK -
过时加密算法:如
3des-cbc、arcfour、blowfish-cbc,已被现代密码学淘汰,ssh-audit 直接标为RED -
不安全 MAC 算法:如
hmac-md5、hmac-ripemd160,易受碰撞攻击,报告中提示WARN_WEAK_HASH
这些算法在 OpenSSH 8.9+ 中默认已移除,若扫描结果中仍出现,说明服务未升级或配置被手动放宽。
依据报告精准修复 SSH 配置
修复不是盲目删除,而是用 /etc/ssh/sshd_config 显式声明强算法集合。关键配置项如下(OpenSSH 8.2+ 兼容):
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
KexAlgorithms curve25519-sha256,diffie-hellman-group-exchange-sha256Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.comMacs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com
⚠️ 注意:修改前务必备份原配置(cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak),改完执行 sudo sshd -t 检查语法,再 sudo systemctl reload sshd 生效。避免直接停服,防止锁死。
进阶:用策略文件批量验证合规性
对多台服务器统一加固时,可创建策略文件(如 hardened.policy)定义最小安全集:
name = "FIPS-Compliant SSH" version = 1 key exchanges = curve25519-sha256, diffie-hellman-group-exchange-sha256 ciphers = aes256-gcm@openssh.com, chacha20-poly1305@openssh.com macs = hmac-sha2-512-etm@openssh.com, hmac-sha2-256-etm@openssh.com
然后用命令驱动审计:python ssh-audit.py -P hardened.policy 192.168.1.100。输出将明确指出哪些算法缺失或多余,便于批量整改。
整个过程就是“扫—读—配—验”四步闭环。工具本身不越权,所有修复都落在你对 sshd_config 的主动控制中,既透明又可控。










