English | 简体中文
A powerful interactive SSH remote client designed for macOS/Linux terminals. It helps you save complex SSH passwords and key paths, while integrating highly efficient fuzzy search and file transfer capabilities.
This project is a fork and enhancement of Lenbo/autossh.
- Source-level FZF Integration: Built-in official
fzffuzzy search engine, no external fzf binary required. Supports non-fullscreen popups (40% height) to maintain context during search. - YAML Configuration Support: Full support for
config.ymlformat for clearer configuration and robust I/O. - Smart SSH Key Association: When adding a server, it automatically scans the
~/.sshdirectory and provides a fuzzy selection interface to bind private keys instantly—no more manual path typing. - High-Performance Parallel Transfer:
- Interactive mode supports
up/downcommands. - Supports
-jparameter for multi-threaded concurrency, significantly boosting transfer speeds for large batches of small files. - Full support for
-rrecursive directory transfer.
- Interactive mode supports
- UI/UX Optimization:
- List Folding: Displays only the first 8 servers by default. Toggle with
a(All) orh(Hide) commands to keep the UI clean. - Index Retrieval: Search box supports direct entry of list indices (e.g.,
a1,b2) for precise positioning. - Signal Handling: Enhanced global
Ctrl+Ccapture ensures a graceful exit in any state.
- List Folding: Displays only the first 8 servers by default. Toggle with
- Run
./autosshto enter interactive mode. - Enter the Index (e.g.,
1ora1) or Alias to login directly. - Enter
sto activate fuzzy search mode.
Support direct command entry in the main interface:
- Upload:
up [-r] [-j 10] <local_path> <server:remote_path> - Download:
down [-r] [-j 10] <server:remote_path> <local_path> - Example:
up -r -j 10 ./dist server1:/var/www/html
- Add: Enter
add. - Edit: Enter
edit. - Remove: Enter
remove.
- Enter
upgradeto automatically detect and upgrade to the latest version fromyaogh99123/autossh.
The configuration file is located at ~/.config/autossh/config.yml.
| Field | Description | Default |
|---|---|---|
lang |
UI Language (en or zh). |
System Default |
show_detail |
Whether to show server details in the list. | true |
show_all |
Whether to show all servers by default (disable folding). | false |
Tip
If lang is not set, the tool will automatically detect your system language environment (via LANG or LC_ALL).
Mac/Linux users can download the Release package and run the install script.
This project uses vendor mode for dependency management, ensuring source-level builds:
# Generate binary packages for all platforms
./build.sh
# Build for current platform only
make buildThanks to the original author islenbo for the excellent base architecture.
MIT