Skip to content

Commit 3b9f866

Browse files
authored
feat: Add 60+ SSH config field support with enhanced UI (#50)
1 parent e75b61e commit 3b9f866

File tree

20 files changed

+6015
-152
lines changed

20 files changed

+6015
-152
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,6 @@ bin
3636
.DS_Store
3737
# Added by goreleaser init:
3838
dist/
39+
40+
# Binary output
41+
lazyssh

README.md

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ With lazyssh, you can quickly navigate, connect, manage, and transfer files betw
1414

1515
### Server Management
1616
- 📜 Read & display servers from your `~/.ssh/config` in a scrollable list.
17-
- ➕ Add a new server from the UI by specifying alias, host/IP, username, port, identity file.
18-
- ✏ Edit existing server entries directly from the UI.
17+
- ➕ Add a new server from the UI with comprehensive SSH configuration options.
18+
- ✏ Edit existing server entries directly from the UI with a tabbed interface.
1919
- 🗑 Delete server entries safely.
2020
- 📌 Pin / unpin servers to keep favorites at the top.
2121
- 🏓 Ping server to check status.
@@ -26,11 +26,22 @@ With lazyssh, you can quickly navigate, connect, manage, and transfer files betw
2626
- 🏷 Tag servers (e.g., prod, dev, test) for quick filtering.
2727
- ↕️ Sort by alias or last SSH (toggle + reverse).
2828

29+
### Advanced SSH Configuration
30+
- 🔗 Port forwarding (LocalForward, RemoteForward, DynamicForward).
31+
- 🚀 Connection multiplexing for faster subsequent connections.
32+
- 🔐 Advanced authentication options (public key, password, agent forwarding).
33+
- 🔒 Security settings (ciphers, MACs, key exchange algorithms).
34+
- 🌐 Proxy settings (ProxyJump, ProxyCommand).
35+
- ⚙️ Extensive SSH config options organized in tabbed interface.
36+
37+
### Key Management
38+
- 🔑 SSH key autocomplete with automatic detection of available keys.
39+
- 📝 Smart key selection with support for multiple keys.
40+
2941

3042
### Upcoming
3143
- 📁 Copy files between local and servers with an easy picker UI.
32-
- 📡 Port forwarding (local↔remote) from the UI.
33-
- 🔑 Enhanced Key Management:
44+
- 🔑 SSH Key Deployment Features:
3445
- Use default local public key (`~/.ssh/id_ed25519.pub` or `~/.ssh/id_rsa.pub`)
3546
- Paste custom public keys manually
3647
- Generate new keypairs and deploy them
@@ -86,10 +97,15 @@ Fuzzy search functionality to quickly find servers by name, IP address, or tags
8697

8798
---
8899

89-
### ➕ Add Server
100+
### ➕ Add/Edit Server
90101
<img src="./docs/add server.png" alt="Add a new server" width="900" />
91102

92-
User-friendly form interface for adding new SSH connections.
103+
Tabbed interface for managing SSH connections with extensive configuration options organized into:
104+
- **Basic** - Host, user, port, keys, tags
105+
- **Connection** - Proxy, timeouts, multiplexing, canonicalization
106+
- **Forwarding** - Port forwarding, X11, agent
107+
- **Authentication** - Keys, passwords, methods, algorithm settings
108+
- **Advanced** - Security, cryptography, environment, debugging
93109

94110
---
95111

@@ -163,6 +179,14 @@ make run
163179
| S | Reverse sort order |
164180
| q | Quit |
165181

182+
**In Server Form:**
183+
| Key | Action |
184+
| ------ | -------------------- |
185+
| Ctrl+H | Previous tab |
186+
| Ctrl+L | Next tab |
187+
| Ctrl+S | Save |
188+
| Esc | Cancel |
189+
166190
Tip: The hint bar at the top of the list shows the most useful shortcuts.
167191

168192
---

0 commit comments

Comments
 (0)