mirror of
https://github.com/Adembc/lazyssh.git
synced 2026-07-14 12:13:34 +02:00
75 lines
2.3 KiB
Markdown
75 lines
2.3 KiB
Markdown
# lazyssh
|
||
|
||
**lazyssh** is a terminal-based, interactive SSH manager inspired by tools like **lazydocker** and **k9s** — but built
|
||
for managing your fleet of servers directly from your terminal.
|
||
|
||
With **lazyssh**, you can quickly **navigate**, **connect**, **manage**, and **transfer files** between your local
|
||
machine and any server defined in your `~/.ssh/config`.
|
||
No more remembering IP addresses or running long `scp` commands — just a clean, keyboard-driven UI.
|
||
|
||
---
|
||
|
||
## ✨ Features
|
||
|
||
### Server Management
|
||
|
||
- 📜 **Read & display** servers from your `~/.ssh/config` in a scrollable list.
|
||
- ➕ **Add** a new server entry from the UI by specifying:
|
||
- Host alias
|
||
- HostName / IP
|
||
- Username
|
||
- Port
|
||
- Identity file
|
||
- ✏ **Edit** existing server entries directly from the UI.
|
||
- 🗑 **Delete** server entries safely.
|
||
|
||
### **Quick Server Navigation**
|
||
|
||
- 🔍 **Fuzzy search** through servers by alias or IP.
|
||
- ⏩ Instant SSH into selected server with a single keypress.
|
||
- 🏷 Grouping/tagging of servers (e.g., `prod`, `dev`, `test`) for quick filtering.
|
||
|
||
### **Remote Operations**
|
||
|
||
- 🖥 **Open Terminal**: Start an SSH session instantly.
|
||
- 📤 **Copy from server → local**: Select remote file/folder, choose local destination.
|
||
- 📥 **Copy from local → server**: Select local file/folder, choose remote destination.
|
||
|
||
### **Port Forwarding**
|
||
|
||
- 📡 Easily forward local ports to remote services (and vice versa) from the UI.
|
||
- Save & reuse common port forwarding setups.
|
||
|
||
### **SSH Key Management**
|
||
|
||
- 🔑 **Deploy public keys** to selected servers directly from the UI.
|
||
- Choose one of three modes:
|
||
- Use your default local public key (`~/.ssh/id_ed25519.pub` or `~/.ssh/id_rsa.pub`)
|
||
- Paste a custom public key manually
|
||
- Generate a new keypair and deploy it
|
||
- Automatically append the key to `~/.ssh/authorized_keys` with correct permissions.
|
||
|
||
---
|
||
|
||
## 🎯 Use Cases
|
||
|
||
- Developers switching between dozens of dev/test/staging/production VMs
|
||
- Sysadmins managing multiple environments and needing quick access
|
||
- Anyone who wants **fast, zero-hassle SSH management** without memorizing IPs
|
||
|
||
---
|
||
|
||
## 🚀 Usage
|
||
|
||
- Launch TUI (default):
|
||
- ./lazyssh
|
||
- Show version:
|
||
- ./lazyssh -v
|
||
- ./lazyssh --version
|
||
- ./lazyssh version
|
||
- List servers in terminal:
|
||
- ./lazyssh list
|
||
|
||
---
|
||
|