Repository navigation
Feat/openssh multiplexing - #100
Merged
Merged
Conversation
Implements full OpenSSH-compatible multiplexing (ControlMaster, ControlPath, ControlPersist) across CLI commands (ssh, exec, scp, sftp) and core/ssh transport. Key improvements: - Control socket lifecycle management, daemon handoff, and background execution - OpenSSH mux client protocol implementation (-O check/forward/cancel/exit/stop/proxy) - Socket access control and peer credential verification on Unix/Linux/macOS/FreeBSD - File descriptor passing for passenger sessions over Unix domain sockets - Preserves core architecture decoupling and full invariant alignment across target resolution
…rchy - Introduce core/ssh.Options registry supporting 19 OpenSSH client options across mux, transport, auth, and trust classes. - Replace narrow control schema with extensible ssh_options across global and node configurations, serializing as canonical snake_case with PascalCase input acceptance. - Enforce 4-tier precedence hierarchy (CLI -o > Node ssh_options > Global ssh_options > ~/.ssh/config) with field-by-field merging semantics. - Guard host trust security: never inherit trust-class options (StrictHostKeyChecking, UserKnownHostsFile) from ~/.ssh/config; disable mux and host trust overrides in MCP and verification contexts. - Support runtime authentication policies, IdentitiesOnly, PreferredAuthentications, node-scoped keepalives, ConnectTimeout, and BatchMode. - Isolate jump-hop multiplexing daemons from target-scoped session options. - Update documentation and comprehensive test suites across core, pkg, and cmd.
…agement - Added detailed error handling for control socket connection issues, including specific messages for "Connection refused" and "No such file or directory". - Improved handling of session control options in SSH adapter, ensuring proper configuration and fallback. - Refactored tests to utilize temporary directories for socket paths, enhancing test isolation and reliability. - Updated symbolic link handling in SFTP client to ensure compatibility across platforms, particularly Windows. - Introduced helper functions for creating temporary directories in tests to streamline socket path management. - Enhanced error messages for socket creation and binding, providing clearer feedback on failures.
wentf9
force-pushed
the
feat/openssh-multiplexing
branch
from
November 7, 2026 11:41
8fe2bf8 to
9cc9bc9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.