-
released this
2026-10-17 01:50:12 -07:00 | 12 commits to main since this releaseChallengeResponseAuthenticationandKbdInteractiveAuthenticationare one option inside sshd, so the first of either now wins (the tool always preferred KbdInteractive, disagreeing withsshd -Twhenever ChallengeResponse came first).- Times are read in sshd's format (
1m,90s,1m30s,2h):LoginGraceTime 1mused to fail andClientAliveInterval 0sused to pass. LoginGraceTime 0(no limit at all) andClientAliveCountMax 0(never drops unresponsive clients, OpenSSH 8.2+) now fail their rules instead of passing as "<= limit".- Tests: accuracy suite (200 random configs whose verdicts must equal those from OpenSSH's own
sshd -T, Mozilla's Modern guideline, Debian's stock config), mutation testing (nightly), claims ledger. - Time values with a trailing bare number (
1m30,0m45) are read the way sshd reads them (seconds), instead
of failing ClientAliveInterval/LoginGraceTime as unparseable. Checked againstsshd -T.
Install
pipx install git+https://git.canutethegreat.com/CanuteTheGreat/sshd-hardening-auditor.git@v1.2.1 # or the wheel attached to this release: pipx install https://git.canutethegreat.com/CanuteTheGreat/sshd-hardening-auditor/releases/download/v1.2.1/sshd_hardening_auditor-1.2.1-py3-none-any.whl # or the single file (stdlib-only Python 3): curl -fsSLO https://git.canutethegreat.com/CanuteTheGreat/sshd-hardening-auditor/releases/download/v1.2.1/sshd_audit.pySHA-256
9cdd154eb130a887028bfd15b825fbd47675276421331edc3f11b25eef20d980 sshd_audit.py c30505a3c4091437d7b7a0d40266c5218a7671a115c28e24b0500dcc11aecae9 sshd_hardening_auditor-1.2.1-py3-none-any.whl 7fa93f23fc92b4a025a51ac025d0208cee497d5a74cb6ffa79f6fe4c5dc37c7e sshd_hardening_auditor-1.2.1.tar.gzDownloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download