sshx
sshx is a simple, terminal-based SSH connection manager written in Rust. It provides a TUI (Text User Interface) to manage your SSH connections, allowing you to add, edit, delete, and connect to servers quickly.
Features
- TUI Interface: built with
ratatuifor a smooth terminal experience. - Manage Servers: Add, edit, and delete server configurations easily.
- One-Key Connection: Connect to your saved servers via standard
sshwith a single keypress. - Mosh Support: Launch
moshsessions directly from the interface. - Key Management: Quickly copy your public key to a server using
ssh-copy-id. - Persistent Storage: Server configurations are saved in JSON format in your user configuration directory.
Installation
Prerequisites
- Rust (cargo)
sshclientmosh(optional, for mosh support)ssh-copy-id(optional, for key copying)
Building from Source
-
Clone the repository:
git clone https://github.com/yourusername/sshx.git cd sshx -
Build and run:
cargo run --releaseOr install it locally:
cargo install --path .
Usage
Start the application by running sshx (if installed) or cargo run.
Key Bindings
Navigation & General:
j/Down/Tab: Select next serverk/Up/Shift+Tab: Select previous serverq/Esc: Quit application
Actions:
Enter: Connect to selected server viasshm: Connect to selected server viamoshn: Add a new serverN(Shift+n): Runssh-copy-idfor the selected serveri: Edit the selected serverd: Delete the selected server
Input Mode (Adding/Editing):
Tab/Down: Move to next fieldShift+Tab/Up: Move to previous fieldEnter: Save and closeEsc: Cancel and return to list
Configuration
Server configurations are stored in ~/.config/sshx/servers.json (on Linux) or the equivalent configuration directory for your OS.
License
This project is licensed under the terms defined in the Cargo.toml file.
Description
Languages
Rust
100%