Releases: talkincode/sshx
Release list
Release v0.0.13
SSHX - Secure SSH & SFTP Client with Built-in Password Manager
📋 What's Changed
Added
- Direct server-to-server file transfer:
sshx --transfer=<src-host>:<src-path> --to=<dst-host>:<dst-path>streams
files from one server to another over SFTP, relaying data through the local
machine without writing to local disk. Supports single files and recursive
directory transfers, preserves file permission bits, and places the source
inside the destination when it is an existing directory. Both endpoints can
be configured host names (resolved from~/.sshx/settings.jsonwith their
own SSH key/user/port) or IP addresses. Transfer invocations are covered by
--dry-runplan preview (transfer_source/transfer_destinationfields)
and the local audit trail.
🚀 Quick Install
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/talkincode/sshx/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/talkincode/sshx/main/install.ps1 | iex📦 Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x86_64 | sshx-linux-amd64.tar.gz |
| Linux | ARM64 | sshx-linux-arm64.tar.gz |
| macOS | Intel | sshx-darwin-amd64.tar.gz |
| macOS | Apple Silicon | sshx-darwin-arm64.tar.gz |
| Windows | x86_64 | sshx-windows-amd64.zip |
| Windows | ARM64 | sshx-windows-arm64.zip |
Verify downloads: Use checksums.txt for integrity verification
📚 Documentation
Release v0.0.12
SSHX - Secure SSH & SFTP Client with Built-in Password Manager
📋 What's Changed
Added
- Local structured audit events are written by default to
~/.sshx/audit/sshx-YYYY-MM-DD.jsonl. Use--audit-output=<dir>to choose a
directory or--no-audit/SSHX_NO_AUDIT=trueto disable audit writing.
Audit events omit stdout/stderr and never store plaintext passwords or private
key contents. --dry-runprints a local execution plan without connecting, executing,
reading keyring secrets, mutatingknown_hosts, or writing local/remote
state. Combine with--jsonfor agent-readable plan output.- An mdBook documentation site with English and Chinese guides for getting
started, host management, SFTP, scripting, security, scenarios, and
troubleshooting. - Release automation now publishes/updates a Homebrew tap formula
(talkincode/homebrew-tap) on every tagged release, so macOS/Linux users can
brew install talkincode/tap/sshx. The step is opt-in via the
HOMEBREW_TAP_TOKENrepository secret and no-ops otherwise.
Changed
- Sudo auto-fill detection now uses one consistent rule across keyring lookup
and command execution: only commands that start withsudotrigger password
auto-fill. Non-leadingsudoinside shell wrappers or pipelines is left
untouched. - SSH login password fallback now only occurs when an SSH login password is
explicitly provided; keyring passwords remain scoped to sudo auto-fill. - Install scripts verify downloaded release checksums before extracting.
Fixed
--jsonblocked-command results now redact password, token, secret, and API
key style arguments in both thecommandfield anderrortext, matching the
audit trail redaction behavior.- Remote command tokens after the command start or
--separator are preserved,
so flags such as-v,--help, and--forceare passed to the remote
command instead of being consumed as localsshxflags. - Recursive SFTP removal now joins remote paths with POSIX-style separators on
all platforms.
🚀 Quick Install
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/talkincode/sshx/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/talkincode/sshx/main/install.ps1 | iex📦 Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x86_64 | sshx-linux-amd64.tar.gz |
| Linux | ARM64 | sshx-linux-arm64.tar.gz |
| macOS | Intel | sshx-darwin-amd64.tar.gz |
| macOS | Apple Silicon | sshx-darwin-arm64.tar.gz |
| Windows | x86_64 | sshx-windows-amd64.zip |
| Windows | ARM64 | sshx-windows-arm64.zip |
Verify downloads: Use checksums.txt for integrity verification
📚 Documentation
Release v0.0.11
SSHX - Secure SSH & SFTP Client with Built-in Password Manager
📋 What's Changed
Security
--password-getno longer prints the stored secret to an interactive terminal (where it would linger in scrollback). On a TTY it now only confirms the key exists; the raw value is emitted only when stdout is piped or redirected (e.g.PW=$(sshx --password-get=key)orsshx --password-get=key | pbcopy), with no decoration for clean capture
Changed
--helpand the no-argument usage screen now print the build version (Version: <version>)- Version flag detection (
--version/-v/-V) now stops at the start of the remote command, so a-vtoken inside an unquoted command is no longer mistaken for a version request
Documentation
- Agent skill (
skills/sshx/SKILL.md): clarified that the sudo keyring key is resolved per host (named hosts use their ownpassword_key;-pk=/SSH_SUDO_KEYoverride) andmasteris only the last-resort fallback — so agents no longer assume every host usesmaster
🚀 Quick Install
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/talkincode/sshx/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/talkincode/sshx/main/install.ps1 | iex📦 Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x86_64 | sshx-linux-amd64.tar.gz |
| Linux | ARM64 | sshx-linux-arm64.tar.gz |
| macOS | Intel | sshx-darwin-amd64.tar.gz |
| macOS | Apple Silicon | sshx-darwin-arm64.tar.gz |
| Windows | x86_64 | sshx-windows-amd64.zip |
Verify downloads: Use checksums.txt for integrity verification
📚 Documentation
Release v0.0.10
SSHX - Secure SSH & SFTP Client with Built-in Password Manager
📋 What's Changed
Added
- Host Configuration Management - Store and manage frequently used host configurations
- Configuration file:
~/.sshx/settings.json - Add hosts interactively with
--host-add - List configured hosts with
--host-list - Test host connections with
--host-test=<name> - Test all hosts with
--host-test-all, get per-host authentication reports, and benefit from a fast 10s dial timeout so unreachable hosts no longer block the run - Remove hosts with
--host-remove=<name> - Auto-resolve host details when using
-h=<hostname> - Support for default SSH key path in settings
- Per-host password key configuration
- Per-host SSH key configuration - each host can use its own SSH private key via
-i=/--key=(with--host-add/--host-update) or thekeyfield insettings.json; falls back to the global key when unset
- Configuration file:
- Flexible authentication controls
--no-key/--password-onlyflag andSSH_DISABLE_KEYenvironment variable to force password-only sessions- Automatic password fallback when public key authentication fails on hosts that reject keys
--versionflag (alias-v) prints the build version, which is injected at build time via-ldflags "-X main.Version=<version>"- Agent skill (
skills/sshx/SKILL.md) documenting how to drivesshxfrom an AI agent (JSON mode, exit codes, safety checks, host/secret management)
Removed
- MCP (Model Context Protocol) server -
sshxis now a focused CLI-only tool. Themcp-stdio/--mcp-stdiomode and all MCP tools have been removed. - SSH connection pool - removed the connection pool that only served the MCP server; CLI commands use direct connections.
Changed
- Improved
ExecuteCommandWithOutput()to capture and report comprehensive error details- Now includes full stderr output in error messages
- Now includes stdout output when command fails
- Now displays process exit codes for better debugging
- Provides command and host context in error messages
- Updated usage documentation with host management commands
make installnow installs the binary to~/.local/binand the agent skill to~/.agents/skills/sshx(previously installed to$GOPATH/binand~/bin);make uninstallremoves both
Fixed
- Improved error message formatting to include all available diagnostic information
- Fixed EOF error handling in PTY execution mode
🚀 Quick Install
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/talkincode/sshx/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/talkincode/sshx/main/install.ps1 | iex📦 Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x86_64 | sshx-linux-amd64.tar.gz |
| Linux | ARM64 | sshx-linux-arm64.tar.gz |
| macOS | Intel | sshx-darwin-amd64.tar.gz |
| macOS | Apple Silicon | sshx-darwin-arm64.tar.gz |
| Windows | x86_64 | sshx-windows-amd64.zip |
Verify downloads: Use checksums.txt for integrity verification
📚 Documentation
Release v0.0.9
SSHMCP - Secure SSH & SFTP Client with MCP Protocol Support
📋 What's Changed
No changelog entry found for version 0.0.9
Please check CHANGELOG.md for details.
🚀 Quick Install
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/talkincode/sshmcp/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/talkincode/sshmcp/main/install.ps1 | iex📦 Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x86_64 | sshx-linux-amd64.tar.gz |
| Linux | ARM64 | sshx-linux-arm64.tar.gz |
| macOS | Intel | sshx-darwin-amd64.tar.gz |
| macOS | Apple Silicon | sshx-darwin-arm64.tar.gz |
| Windows | x86_64 | sshx-windows-amd64.zip |
Verify downloads: Use checksums.txt for integrity verification
📚 Documentation
Release v0.0.8
- dcecc7e fix(ssh): 优化SSH连接和错误处理 (Jett Wang)
- 196a78d feat: implement MCP host management tools (Jett Wang)
- 9183950 feat: improve host management and MCP error handling (Jett Wang)
- 9a8be6f feat: add host configuration management system (Jett Wang)
- 5ec5349 feat(mcp): enhance error reporting with detailed diagnostics (Jett Wang)
- 26c9e61 docs: add 'Why You Need It' section to README (Jett Wang)
- c615cbb docs: update CHANGELOG and SECURITY for v0.0.7 release (Jett Wang)
Release v0.0.7
SSHMCP - Secure SSH & SFTP Client with MCP Protocol Support
📋 What's Changed
No changelog entry found for version 0.0.7
Please check CHANGELOG.md for details.
🚀 Quick Install
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/talkincode/sshmcp/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/talkincode/sshmcp/main/install.ps1 | iex📦 Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x86_64 | sshx-linux-amd64.tar.gz |
| Linux | ARM64 | sshx-linux-arm64.tar.gz |
| macOS | Intel | sshx-darwin-amd64.tar.gz |
| macOS | Apple Silicon | sshx-darwin-arm64.tar.gz |
| Windows | x86_64 | sshx-windows-amd64.zip |
Verify downloads: Use checksums.txt for integrity verification
📚 Documentation
Release v0.0.6
SSHMCP - Secure SSH & SFTP Client with MCP Protocol Support
📋 What's Changed
No changelog entry found for version 0.0.6
Please check CHANGELOG.md for details.
🚀 Quick Install
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/talkincode/sshmcp/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/talkincode/sshmcp/main/install.ps1 | iex📦 Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x86_64 | sshx-linux-amd64.tar.gz |
| Linux | ARM64 | sshx-linux-arm64.tar.gz |
| macOS | Intel | sshx-darwin-amd64.tar.gz |
| macOS | Apple Silicon | sshx-darwin-arm64.tar.gz |
| Windows | x86_64 | sshx-windows-amd64.zip |
Verify downloads: Use checksums.txt for integrity verification
📚 Documentation
Release v0.0.5
- 47dc74e perf: Remove Windows from test matrix to speed up CI (Jett Wang)
- 94dc2f3 fix: Force bash shell for test command to fix Windows PowerShell parsing issue (Jett Wang)
- 2728897 fix: Add permission handling for SARIF file post-processing (Jett Wang)
- 70cc926 fix: Fix SARIF file format for GitHub Code Scanning upload (Jett Wang)
- 6ee9b52 fix: upgrade CodeQL action from v2 to v3 (Jett Wang)
- 6323690 fix: resolve all golangci-lint errors (31 issues) (Jett Wang)
- 0b62461 chore: clean up .golangci.yml comments (Jett Wang)
- 97a84e9 fix: force update .golangci.yml configuration (Jett Wang)
- 1bdbe8c fix: simplify .golangci.yml for v2 compatibility (Jett Wang)
- 398ba50 fix: update Go version to 1.24 in CI workflows (Jett Wang)
- a518dc6 fix: update module path and Go version (Jett Wang)
- 05b2fc2 fix: update golangci-lint version from v2.6.1 to v1.62.2 (Jett Wang)
- 96a4ff4 fix: add missing print_warning function in pre-push hook (Jett Wang)
- 507ce44 fix: implement professional Close error handling with CloseIgnore helper (Jett Wang)
- bfbf702 chore: update golangci-lint config and fix linting issues (Jett Wang)
- 6fed40c refactor: translate all Chinese code to English and improve test coverage (Jett Wang)
- 15d6228 docs: enhance documentation with badges, MIT license and auto-changelog (Jett Wang)
- 204bcea feat: 添加 Git hooks 自动检查机制 (Jett Wang)
- 0e7bdbb fix: 更新项目名称为SSHMCP以统一文档和代码 (Jett Wang)
Release v0.0.4
SSH & SFTP Remote Tool with MCP Support
🚀 一键安装 (推荐)
Linux / macOS
curl -fsSL https://raw.githubusercontent.com/talkincode/sshmcp/main/install.sh | bashWindows (PowerShell 管理员权限)
irm https://raw.githubusercontent.com/talkincode/sshmcp/main/install.ps1 | iex📖 详细安装文档: INSTALL.md
📦 手动下载
请根据您的操作系统选择对应的二进制文件:
- Linux (x86_64):
sshx-linux-amd64.tar.gz - Linux (ARM64):
sshx-linux-arm64.tar.gz - macOS (Intel):
sshx-darwin-amd64.tar.gz - macOS (Apple Silicon):
sshx-darwin-arm64.tar.gz - Windows (x86_64):
sshx-windows-amd64.zip
📝 手动安装方法
Linux / macOS
# 下载并解压
tar xzf sshx-<platform>-<arch>.tar.gz
# 移动到系统路径
sudo mv sshx /usr/local/bin/
# 赋予执行权限
sudo chmod +x /usr/local/bin/sshx
# 验证安装
sshx --helpWindows
# 解压 zip 文件
# 将 sshx.exe 添加到系统 PATH
# 或直接在解压目录下使用功能特性
- ✅ SSH 远程命令执行
- ✅ SFTP 文件传输(上传/下载/列表/创建目录/删除)
- ✅ 跨平台密码管理(系统 Keyring)
- ✅ 命令安全检查(防止危险操作)
- ✅ MCP (Model Context Protocol) 支持
- ✅ Sudo 密码自动填充
校验和
请使用 checksums.txt 验证下载文件的完整性:
sha256sum -c checksums.txt更新日志
查看 CHANGELOG.md 了解详细更新内容。