Skip to content

Add an embedded ephemeral SSH agent backend - #80

Merged
masahide merged 2 commits into
mainfrom
codex/issue-79-embedded-agent
Aug 27, 2026
Merged

Add an embedded ephemeral SSH agent backend#80
masahide merged 2 commits into
mainfrom
codex/issue-79-embedded-agent

Conversation

@masahide

@masahide masahide commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a selectable embedded ephemeral SSH agent backend backed by the concurrent in-memory Go keyring
  • expose the standard Windows OpenSSH Named Pipe in embedded mode with a current-user/SYSTEM ACL and connection-aware shutdown
  • connect OpenSSH, Pageant, and Cygwin/MSYS2 interfaces to the same embedded backend
  • add the backend selector, embedded-mode warnings, tests, and updated architecture/migration documentation

Security model

  • keys are retained only by the OmniSSHAgent process and are not reloaded after restart
  • private-key paths and decryption passphrases are not persisted
  • confirm-before-use constraints are rejected instead of silently ignored
  • Windows OpenSSH remains the default backend, and OmniSSHAgent never stops or disables its service automatically

Validation

  • go test -count=1 ./...
  • go vet ./...
  • ./scripts/test-installer.ps1
  • amd64 console build
  • amd64 windowsgui build
  • arm64 windowsgui build
  • go mod tidy with no module-file changes
  • manual Settings visual QA
  • manual KeePassXC unlock/lock E2E
  • hosted CI (Windows run 33073972572)

Fixes #79

@flameshikari

Copy link
Copy Markdown

I compiled and tested it myself in this branch, and everything works good. Thank you so much for the quick response and fix. By the way, GitHub Actions didn't work yesterday, so you probably need to restart your worfklow for the tests to pass.

@masahide
masahide merged commit bb15c37 into main Aug 27, 2026
1 check passed
@masahide
masahide deleted the codex/issue-79-embedded-agent branch August 27, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A 'small' problem of using Windows OpenSSH

2 participants