ssh-audit 是一个用于审计 SSH 服务器和客户端配置的工具。
jtesta/ssh-audit (v2.0+) 是从 arthepsy/ssh-audit (v1.x) 分叉而来的更新和维护版本,由于原项目不再活跃。
用法: ssh-audit.py [选项] <主机>
-h, --help 打印帮助信息
-1, --ssh1 仅强制使用 ssh 版本 1
-2, --ssh2 仅强制使用 ssh 版本 2
-4, --ipv4 启用 IPv4 (优先顺序)
-6, --ipv6 启用 IPv6 (优先顺序)
-b, --batch 批处理输出
-c, --client-audit 在端口 2222 上启动服务器以审计客户端
软件配置 (使用 -p 更改端口;
使用 -t 更改超时)
--conn-rate-test=N[:max_rate] 执行连接速率测试(用于收集与
DHEat 漏洞相关的敏感性指标)。
使用 N 个并发套接字进行测试,
可选择设置每秒最大连接速率。
-d, --debug 启用调试输出。
--dheat=N[:kex[:e_len]] 使用 N 个并发套接字持续对目标执行
DHEat DoS 攻击(CVE-2002-20001)。
可以选择指定特定的密钥交换算法,
而不是自动选择。此外,可以选择
发送给服务器的伪 e 值的较小长度
以提高攻击效率(如 4)。
-g, --gex-test=<x[,y,...]> dh gex 模数大小测试
<min1:pref1:max1[,min2:pref2:max2,...]>
<x-y[:step]>
-j, --json JSON 输出(使用 -jj 启用缩进)
-l, --level=<level> 最低输出级别 (info|warn|fail)
-L, --list-policies 列出所有官方内置策略。与 -v 一起使用
可查看策略变更日志。
--lookup=<alg1,alg2,...> 查找算法而不连接到服务器
-m, --manual 打印手册页(仅适用于 Docker、PyPI、Snap
和 Windows 构建)
-M, --make-policy=<policy.txt> 基于目标服务器创建策略
(即:目标服务器具有其他服务器
应遵循的理想配置)
-n, --no-colors 禁用颜色
-p, --port=<port> 连接端口
-P, --policy=<"策略名称" | policy.txt> 使用指定策略运行策略测试
--skip-rate-test 在标准审计期间跳过连接速率测试
(用于安全推断 DHEat 攻击是否可行)
-t, --timeout=<secs> 连接和读取超时(秒)
(默认:5)
-T, --targets=<hosts.txt> 包含目标主机列表的文件(每行一个,
格式为 HOST[:PORT])
--threads=<threads> 扫描多个目标时使用的线程数
(-T/--targets)(默认:32)
-v, --verbose 详细输出
-46 或 -64 设置优先顺序。-b 将输出不带标题和空行的部分(隐含详细标志)。-v 将为每行添加部分类型和算法名称前缀。基本服务器审计:
ssh-audit localhost
ssh-audit 127.0.0.1
ssh-audit 127.0.0.1:222
ssh-audit ::1
ssh-audit [::1]:222
对多个服务器进行标准审计(将目标放入 servers.txt 文件中,每行一个,格式为 HOST[:PORT]):
ssh-audit -T servers.txt
审计客户端配置(默认监听端口 2222;使用 ssh -p 2222 anything@localhost 连接):
ssh-audit -c
审计客户端配置,监听端口 4567:
ssh-audit -c -p 4567
列出所有官方内置策略(提示:将结果策略名称与 -P/--policy 一起使用):
ssh-audit -L
对服务器运行策略审计:
ssh-audit -P ["策略名称" | path/to/server_policy.txt] 目标服务器
对客户端运行策略审计:
ssh-audit -c -P ["策略名称" | path/to/client_policy.txt]
对多个服务器运行策略审计:
ssh-audit -T servers.txt -P ["策略名称" | path/to/server_policy.txt]
基于目标服务器创建策略(可手动编辑):
ssh-audit -M new_policy.txt 目标服务器
使用 10 个并发套接字对目标运行 DHEat CPU 耗尽 DoS 攻击(CVE-2002-20001):
ssh-audit --dheat=10 目标服务器
使用 diffie-hellman-group-exchange-sha256 密钥交换算法运行 DHEat 攻击:
ssh-audit --dheat=10:diffie-hellman-group-exchange-sha256 目标服务器
使用 diffie-hellman-group-exchange-sha256 密钥交换算法和非常小但非标准的数据包长度运行 DHEat 攻击(这可能会导致相同的 CPU 耗尽,但每秒发送的字节数更少):
ssh-audit --dheat=10:diffie-hellman-group-exchange-sha256:4 目标服务器
以下是连接到未加固的 OpenSSH v5.3 服务时标准服务器审计输出的截图:

以下是连接到未加固的 Ubuntu Server 20.04 机器时策略审计输出的截图(提示:使用 -L/--list-policies 查看内置策略的名称,可与 -P/--policy 一起使用):

应用加固指南中的步骤(见下文)后,输出变为以下内容:

以下是未加固的 OpenSSH v7.2 客户端连接时客户端审计输出的截图:

服务器和客户端配置的加固指南可在此处找到:https://www.ssh-audit.com/hardening_guides.html
Windows(见发布页面)、PyPI、Snap 和 Docker 均提供预构建包:
从 PyPI 安装:
$ pip3 install ssh-audit
安装 Snap 包:
$ snap install ssh-audit
从 Dockerhub 安装:
$ docker pull positronsecurity/ssh-audit
(然后运行:docker run -it --rm -p 2222:2222 positronsecurity/ssh-audit 10.1.1.1)
其他平台包的状态可在下方查看(通过 Repology):
<a href="https://repology.org/project/ssh-audit/versions"><img src="https://yellow-cdn.veclightyear.com/835a84d5/ad357f62-9485-4dea-b1f6-2323cb68fa01.svg?columns=4" alt="打包状态" align="center"></a>
为方便起见,命令行工具的 Web 前端可在 https://www.ssh-audit.com/ 使用。
-P 和 -T 选项时的崩溃问题。--dheat 选项;CVE-2002-20001)。ecdsa-sha2-nistp* CA 签名 的解析。此外,它们现在被标记为可能被后门,就像标准主机密钥一样。-m,--manual)现在可在 Docker、PyPI 和 Snap 构建中使用,除了 Windows 构建。python:3-slim 更改为 python:3-alpine,使镜像大小减少 59%;感谢 Daniel Thamdrup。-L -v 查看)。allow_algorithm_subset_and_reordering 指令,允许目标通过子集和/或重新排序的主机密钥、密钥交换、密码和 MAC 列表。这允许创建基准策略,目标可以选择实施更严格的控制;部分感谢 yannik1015。allow_larger_keys 指令,允许目标通过更大的主机密钥、CA 密钥和 Diffie-Hellman 密钥。这允许创建基准策略,目标可以选择实施更严格的控制;部分感谢 Damian Szuberski。NO_COLOR 环境变量,则禁用彩色输出(参见 https://no-color.org/)。gss-nistp384-sha384-*。aes128-ocb@libassh.org。sk-ssh-ed25519@openssh.com 和 ssh-ed25519 移到所有证书类型的末尾。additional_notes 字段。ecdsa-sha2-curve25519、ecdsa-sha2-nistb233、ecdsa-sha2-nistb409、ecdsa-sha2-nistk163、ecdsa-sha2-nistk233、ecdsa-sha2-nistk283、ecdsa-sha2-nistk409、ecdsa-sha2-nistp224、ecdsa-sha2-nistp192、ecdsa-sha2-nistt571、ssh-dsa、x509v3-sign-rsa-sha256。curve448-sha512@libssh.org、ecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.org、ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org、ecdh-nistp521-kyber-1024r3-sha512-d00@openquantumsafe.org、ecdh-sha2-brainpoolp256r1@genua.de、ecdh-sha2-brainpoolp384r1@genua.de、ecdh-sha2-brainpoolp521r1@genua.de、kexAlgoDH14SHA1、kexAlgoDH1SHA1、kexAlgoECDH256、kexAlgoECDH384、kexAlgoECDH521、sm2kep-sha2-nistp256、x25519-kyber-512r3-sha256-d00@amazon.com、x25519-kyber512-sha512@aws.amazon.com。aes192-gcm@openssh.com、cast128-12-cbc、cast128-12-cfb、cast128-12-ecb、cast128-12-ofb、des-cfb、des-ecb、des-ofb。cbcmac-3des、cbcmac-aes、cbcmac-blowfish、cbcmac-des、cbcmac-rijndael、cbcmac-twofish、hmac-sha256-96、md5、md5-8、ripemd160、ripemd160-8、sha1、sha1-8、umac-128。sntrup761x25519-sha512@openssh.com的实验性警告标签。-g和--gex-test选项,用于详细的GEX模数大小测试;感谢Adam Russell。dsa2048-sha224@libassh.org、dsa2048-sha256@libassh.org、dsa3072-sha256@libassh.org、ecdsa-sha2-1.3.132.0.10-cert-v01@openssh.com、eddsa-e382-shake256@libassh.org、eddsa-e521-shake256@libassh.org、null、pgp-sign-dss、pgp-sign-rsa、spki-sign-dss、spki-sign-rsa、ssh-dss-sha224@ssh.com、ssh-dss-sha384@ssh.com、ssh-dss-sha512@ssh.com、ssh-ed448-cert-v01@openssh.com、ssh-rsa-sha224@ssh.com、ssh-rsa-sha2-256、ssh-rsa-sha2-512、ssh-rsa-sha384@ssh.com、ssh-rsa-sha512@ssh.com、ssh-xmss-cert-v01@openssh.com、ssh-xmss@openssh.com、webauthn-sk-ecdsa-sha2-nistp256@openssh.com、x509v3-ecdsa-sha2-1.3.132.0.10、x509v3-sign-dss-sha1、x509v3-sign-dss-sha224@ssh.com、x509v3-sign-dss-sha256@ssh.com、x509v3-sign-dss-sha384@ssh.com、x509v3-sign-dss-sha512@ssh.com、x509v3-sign-rsa-sha1、x509v3-sign-rsa-sha224@ssh.com、x509v3-sign-rsa-sha384@ssh.com、x509v3-sign-rsa-sha512@ssh.com。diffie-hellman-group14-sha224@ssh.com、diffie-hellman_group17-sha512、diffie-hellman-group-exchange-sha224@ssh.com、diffie-hellman-group-exchange-sha384@ssh.com、ecdh-sha2-1.2.840.10045.3.1.1、ecdh-sha2-1.2.840.10045.3.1.7、ecdh-sha2-1.3.132.0.1、ecdh-sha2-1.3.132.0.16、ecdh-sha2-1.3.132.0.26、ecdh-sha2-1.3.132.0.27、ecdh-sha2-1.3.132.0.33、ecdh-sha2-1.3.132.0.34、ecdh-sha2-1.3.132.0.35、ecdh-sha2-1.3.132.0.36、ecdh-sha2-1.3.132.0.37、ecdh-sha2-1.3.132.0.38、ecdh-sha2-4MHB+NBt3AlaSRQ7MnB4cg==、ecdh-sha2-5pPrSUQtIaTjUSt5VZNBjg==、ecdh-sha2-9UzNcgwTlEnSCECZa7V1mw==、ecdh-sha2-D3FefCjYoJ/kfXgAyLddYA==、ecdh-sha2-h/SsxnLCtRBh7I9ATyeB3A==、ecdh-sha2-m/FtSAmrV4j/Wy6RVUaK7A==、ecdh-sha2-mNVwCXAoS1HGmHpLvBC94w==、ecdh-sha2-qCbG5Cn/jjsZ7nBeR7EnOA==、ecdh-sha2-qcFQaMAMGhTziMT0z+Tuzw==、ecdh-sha2-VqBg4QRPjxx1EXZdV0GdWQ==、ecdh-sha2-wiRIU8TKjMZ418sMqlqtvQ==、ecdh-sha2-zD/b3hu/71952ArpUG4OjQ==、ecmqv-sha2、gss-13.3.132.0.10-sha256-*、gss-curve25519-sha256-*、gss-curve448-sha512-*、gss-gex-sha1-*、gss-gex-sha256-*、gss-group14-sha1-*、gss-group14-sha256-*、gss-group15-sha512-*、gss-group16-sha512-*、gss-group17-sha512-*、gss-group18-sha512-*、gss-group1-sha1-*、gss-nistp256-sha256-*、gss-nistp384-sha256-*、gss-nistp521-sha512-*、m383-sha384@libassh.org、m511-sha512@libassh.org。3des-cfb、3des-ecb、3des-ofb、blowfish-cfb、blowfish-ecb、blowfish-ofb、camellia128-cbc@openssh.org、camellia128-ctr@openssh.org、camellia192-cbc@openssh.org、camellia192-ctr@openssh.org、camellia256-cbc@openssh.org、camellia256-ctr@openssh.org、cast128-cfb、cast128-ecb、cast128-ofb、cast128-12-cbc@ssh.com、idea-cfb、idea-ecb、idea-ofb、rijndael-cbc@ssh.com、seed-ctr@ssh.com、serpent128-gcm@libassh.org、serpent256-gcm@libassh.org、twofish128-gcm@libassh.org、twofish256-gcm@libassh.org、twofish-cfb、twofish-ecb、twofish-ofbhmac-sha1-96@openssh.com、hmac-sha224@ssh.com、hmac-sha256-2@ssh.com、hmac-sha384@ssh.com、hmac-whirlpool。-jj时现在会打印带缩进的JSON(对调试有用)。-d/--debug选项以获取调试输出;感谢Adam Russell。rsa-sha2-512和rsa-sha2-256。gss-gex-sha1-eipGX3TCiQSrx573bT1o1Q==、gss-group1-sha1-eipGX3TCiQSrx573bT1o1Q==和gss-group14-sha1-eipGX3TCiQSrx573bT1o1Q==。hmac-ripemd160-96、AEAD_AES_128_GCM和AEAD_AES_256_GCM。-m/--manual);感谢Adam Russell。sntrup761x25519-sha512@openssh.com。rsa-sha2-256-cert-v01@openssh.com和rsa-sha2-512-cert-v01@openssh.com主机密钥类型的公钥大小。ssh-rsa-cert-v01@openssh.com标记为失败。--lookup)现在执行不区分大小写的相似算法查找;感谢Adam Russell。des-cbc@ssh.com。-L/--list-policies、-M/--make-policy和-P/--policy)。有关深入教程,请参阅https://www.positronsecurity.com/blog/2020-09-27-ssh-policy-configuration-checks-with-ssh-audit/。ssh-audit.1文件)。--lookup);感谢Adam Russell。ssh-rsa1、ssh-dss-sha256@ssh.com、ssh-gost2001、ssh-gost2012-256、ssh-gost2012-512、spki-sign-rsa、ssh-ed448、x509v3-ecdsa-sha2-nistp256、x509v3-ecdsa-sha2-nistp384、x509v3-ecdsa-sha2-nistp521、x509v3-rsa2048-sha256。diffie-hellman-group1-sha256、kexAlgoCurve25519SHA256、Curve25519SHA256、gss-group14-sha256-、gss-group15-sha512-、gss-group16-sha512-、gss-nistp256-sha256-、gss-curve25519-sha256-。blowfish、AEAD_AES_128_GCM、AEAD_AES_256_GCM、crypticore128@ssh.com、seed-cbc@ssh.com。chacha20-poly1305@openssh.com、hmac-sha3-224、crypticore-mac@ssh.com。ssh-rsa标记为弱。ecdsa-sha2-1.3.132.0.10、x509v3-sign-dss、x509v3-sign-rsa、x509v3-sign-rsa-sha256@ssh.com、x509v3-ssh-dss、x509v3-ssh-rsa、sk-ecdsa-sha2-nistp256-cert-v01@openssh.com、sk-ecdsa-sha2-nistp256@openssh.com、sk-ssh-ed25519-cert-v01@openssh.com和sk-ssh-ed25519@openssh.com。diffie-hellman-group14-sha256@ssh.com、diffie-hellman-group15-sha256@ssh.com、diffie-hellman-group15-sha384@ssh.com、diffie-hellman-group16-sha384@ssh.com、diffie-hellman-group16-sha512@ssh.com、diffie-hellman-group18-sha512@ssh.com、ecdh-sha2-curve25519、ecdh-sha2-nistb233、ecdh-sha2-nistb409、ecdh-sha2-nistk163、ecdh-sha2-nistk233、ecdh-sha2-nistk283、ecdh-sha2-nistk409、ecdh-sha2-nistp192、ecdh-sha2-nistp224、ecdh-sha2-nistt571、gss-gex-sha1-和gss-group1-sha1-。camellia128-cbc、camellia128-ctr、camellia192-cbc、camellia192-ctr、camellia256-cbc、camellia256-ctr、aes128-gcm、aes256-gcm和chacha20-poly1305。aes128-gcm和aes256-gcm。rsa-sha2-256-cert-v01@openssh.com、rsa-sha2-512-cert-v01@openssh.com。des、3des。-c / --client-audit 选项)。-j / --json 选项;感谢 Andreas Jaggi)。gss-group1-sha1-toWM5Slw5Ew8Mqkay+al2g==、gss-gex-sha1-toWM5Slw5Ew8Mqkay+al2g==、gss-group14-sha1-、gss-group14-sha1-toWM5Slw5Ew8Mqkay+al2g==、gss-group14-sha256-toWM5Slw5Ew8Mqkay+al2g==、gss-group15-sha512-toWM5Slw5Ew8Mqkay+al2g==、diffie-hellman-group15-sha256、ecdh-sha2-1.3.132.0.10、curve448-sha512。ecdsa-sha2-1.3.132.0.10。idea-cbc、serpent128-cbc、serpent192-cbc、serpent256-cbc。hmac-sha2-256-96-etm@openssh.com、hmac-sha2-512-96-etm@openssh.com、hmac-ripemd、hmac-sha256-96@ssh.com、umac-32@openssh.com、umac-96@openssh.com。sntrup4591761x25519-sha512@tinyssh.org、diffie-hellman-group-exchange-sha256@ssh.com、diffie-hellman-group-exchange-sha512@ssh.com、diffie-hellman-group16-sha256、diffie-hellman-group17-sha512。des-cbc-ssh1、blowfish-ctr、twofish-ctr。hmac-sha2-56、hmac-sha2-224、hmac-sha2-384、hmac-sha3-256、hmac-sha3-384、hmac-sha3-512、hmac-sha256、hmac-sha256@ssh.com、hmac-sha512、hmac-512@ssh.com。-t / --timeout)用于设置连接和读取超时。

免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号