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-ofb
hmac-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
)用于设置连接和读取超时。字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮 助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等, 都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅 助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支 持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号