easy-ssh-tui-0.1.2 is not a library.
easy-ssh-tui
A simple, fast terminal application built with Rust and Ratatui to easily manage and view your SSH keys.
Features
- View SSH Keys: Displays a list of your SSH keys found in the
~/.sshdirectory. - Key Details: Automatically shows the associated public and private key contents for the selected SSH key.
- Copy Public Key: Quickly copy the selected public key to your clipboard with a single keystroke.
- SSH Key Generation: Create new
ed25519SSH keys directly from the UI. - PEM File Importer: Securely import existing
.pemfiles from your filesystem with automatic permission handling (chmod 600) and passphrase support viassh-add. - SSH Config Editor: View, add, edit, and delete
~/.ssh/confighost entries directly from the TUI. - Known Hosts Viewer: Browse and manage
~/.ssh/known_hostsentries with the ability to delete stale hosts. - Export to GitHub/GitLab: Push your public keys directly to GitHub or GitLab using their APIs.
- Search/Filter: Quickly find keys by name with real-time filtering.
- Tab-based Navigation: Switch between Keys, Config, and Known Hosts views using number keys.
- Terminal UI: Lightweight and responsive terminal interface.
Release Notes
Please see the CHANGELOG.md for the latest release notes and history.
Requirements
- Rust (Cargo)
- An existing
~/.sshdirectory with SSH keys.
Installation
Clone the repository and build the project using Cargo:
If you just want to install and use it immediately, you can run the provided release script (Mac/Linux):
Alternatively, you can build and install it manually via Cargo:
Usage
Run the application from your terminal:
Or run it directly using cargo if you are in the project directory:
Keybindings
Global
- 1: Switch to Keys tab
- 2: Switch to Config tab
- 3: Switch to Known Hosts tab
- Up or k: Move selection up
- Down or j: Move selection down
- q or Esc: Quit the application
Keys Tab
- n: Create a new SSH key
- i: Import a
.pemfile - c: Copy the selected public key to clipboard
- e: Export public key to GitHub or GitLab
- /: Search/filter keys by name
Config Tab
- a: Add a new SSH config entry
- e: Edit the selected entry
- d: Delete the selected entry
Known Hosts Tab
- d: Delete the selected known host entry