0.8.3 — 2026-05-21
Release Notes
Windows usability hotfix on top of v0.8.2. No behavior change on
macOS / Linux.
Fixed
-
sshc.confis now usable bysshon Windows. v0.8.2 made the
save succeed (theaform actually wrote bytes to disk), but
Windows OpenSSH then refused to read the result with
Bad owner or permissions on C:\Users\<u>\.ssh\config.d\sshc.conf.
The cause:set_owner_only_permswas a#[cfg(not(unix))]no-op,
so newly-writtensshc.confinherited the parent directory's DACL
— typicallyBUILTIN\UsersorAuthenticated Userswith read
access — andssh.exerejects any trustee broader than the owner.v0.8.3 replaces the no-op with a real DACL writer that mirrors
Unixchmod 0600intent: three explicit ACEs (current owner +
NT AUTHORITY\SYSTEM+BUILTIN\Administrators), no inheritance,
PROTECTED_DACL_SECURITY_INFORMATIONso parent ACEs can't drift
back in. Implementation goes throughwindows-sys
GetNamedSecurityInfoW→SetEntriesInAclW→
SetNamedSecurityInfoW. Owner SID is not modified.Verify on Windows after upgrading:
sshc -m→a→ fill, Enter,
thenssh -G <alias>no longer prints the "Bad owner" error and
icacls $HOME\.ssh\config.d\sshc.confshows only SYSTEM /
Administrators / your user account.
Internal
-
test_editor_command_constructionnow pinsEDITOR=vimfor the
duration of the test and restores the original value on exit.
v0.8-era runs on Windows withEDITORunset fell through to
notepad.exe, which doesn't accept the+42arg the test
asserts. The assertion itself wasn't catching a real regression
on those hosts — it was tripping on the environment default. -
Cargo.tomlwindows-sysfeatures list adds
Win32_Security_Authorization(transitively required by
SetEntriesInAclW/SetNamedSecurityInfoW).
Install sshc 0.8.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/hang-in/sshc/releases/download/v0.8.3/sshc-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/hang-in/sshc/releases/download/v0.8.3/sshc-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install hang-in/tap/sshcDownload sshc 0.8.3
| File | Platform | Checksum |
|---|---|---|
| sshc-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| sshc-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| sshc-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| sshc-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| sshc-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |