Skip to content

Adembc/lazyssh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lazyssh logo

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 (current)

  • 📜 Read & display servers from your ~/.ssh/config in a scrollable list.
  • ➕ Add a new server from the UI by specifying alias, host/IP, username, port, identity file.
  • ✏ Edit existing server entries directly from the UI.
  • 🗑 Delete server entries safely.
  • 📌 Pin / unpin servers to keep favorites at the top.
  • 🏓 Ping server to check status.

Quick Server Navigation

  • 🔍 Fuzzy search by alias, IP, or tags.
  • 🖥 One‑keypress SSH into the selected server (Enter).
  • 🏷 Tag servers (e.g., prod, dev, test) for quick filtering.
  • ↕️ Sort by alias or last SSH (toggle + reverse).

Upcoming

  • 📁 Copy files between local and servers with an easy picker UI.
  • 📡 Port forwarding (local↔remote) from the UI.
  • 🔑 Enhanced Key Management:
    • Use default local public key (~/.ssh/id_ed25519.pub or ~/.ssh/id_rsa.pub)
    • Paste custom public keys manually
    • Generate new keypairs and deploy them
    • Automatically append keys to ~/.ssh/authorized_keys with correct permissions

🛠 Installation

Binary releases: if/when releases are published, download from the Releases page and place in your PATH.


⚙️ Configuration

lazyssh reads your SSH hosts from ~/.ssh/config. Example entry:

    HostName 203.0.113.10
    User ubuntu
    Port 22
    IdentityFile ~/.ssh/id_ed25519

You can add/edit/delete entries from within the UI as well; lazyssh will keep things consistent.


⌨️ Key Bindings

Key Action
/ Toggle search bar
↑/↓ Navigate servers
Enter SSH into selected server
c Copy SSH command to clipboard
g Ping selected server
r Refresh background data
a Add server
e Edit server
t Edit tags
d Delete server
p Pin/Unpin server
s Toggle sort field
S Reverse sort order
q Quit

Tip: The hint bar at the top of the list shows the most useful shortcuts.


🚀 Quickstart

  • Ensure your ~/.ssh/config contains at least one Host.
  • Run the app: ./lazyssh
  • Use / to search, Enter to connect.

🙏 Acknowledgments

About

A terminal-based SSH manager inspired by lazydocker and k9s - Written in go

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors