Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,18 @@ A high-performance SSH client with **SSH-compatible syntax** for both single-hos
- **Progress Tracking**: Real-time progress indicators with smart detection (percentages, fractions, apt/dpkg)
- **Flexible Authentication**: Support for SSH keys, SSH agent, password authentication, and encrypted key passphrases
- **Host Key Verification**: Secure host key checking with known_hosts support
- **Cross-Platform**: Works on Linux and macOS
- **Cross-Platform**: Works on Linux and macOS (see [Platform Support](#platform-support) for Windows status)
- **Output Management**: Multiple output modes (TUI, stream, file, normal) with auto-detection
- **Interactive Mode**: Interactive shell sessions with single-node or multiplexed multi-node support
- **SSH Config Caching**: High-performance caching of SSH configurations with TTL and file modification detection
- **Configurable Timeouts**: Set both connection timeout (`--connect-timeout`) and command execution timeout (`--timeout`) with support for unlimited execution
- **SSH Keepalive**: Configurable keepalive settings (`--server-alive-interval`, `--server-alive-count-max`) to prevent idle connection timeouts

## Platform Support

- **Linux and macOS**: Fully supported, including SSH agent authentication (`-A`), PTY-based interactive sessions, and every CLI feature documented here.
- **Windows (native)**: Not currently supported as a client. The `bssh` crate does not build for a Windows target today because of unconditional Unix-only dependencies (`nix`, `signal-hook`, `libc`) and un-gated PTY/agent code; there is no Windows CI job or release artifact. Use **WSL2** to run `bssh` on Windows in the meantime. See [#213](https://github.com/lablup/bssh/issues/213) for the current status and the known blockers to native Windows client support.

## Installation

### Install via Homebrew (macOS/Linux)
Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/ssh-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -615,7 +615,7 @@ let auth_method = auth_ctx.determine_method?;
- Uses `zeroize` crate to clear passwords and passphrases from memory
- Secure passphrase prompts via `rpassword` crate
- No credential caching or storage
- Platform-specific handling (SSH agent not supported on Windows)
- Platform-specific handling (SSH agent not supported on Windows; native Windows client execution is not currently supported at all, see the README's [Platform Support](../../README.md#platform-support) section and [#213](https://github.com/lablup/bssh/issues/213))

**Code Reduction:**
- Eliminated ~130 lines of duplicated authentication logic
Expand Down