An interactive, keyboard-driven SSH manager for your terminal
Created by Adembc β’ Maintained & developed by WhiteRoseLK & the community
Note
neossh is a direct continuation and actively maintained fork of lazyssh, originally created by Adembc. All core credit for the foundational idea, architecture, and original implementation belongs to Adembc. This project exists to continue active development, integrate valuable community PRs, and provide ongoing maintenance.
Tip
π Complete Documentation: Looking for in-depth topic guides, advanced configuration, and complete references? Check out the neossh Wiki.
neossh is an interactive, keyboard-driven SSH manager for your terminal. With neossh, you can quickly navigate, search, connect, manage, and configure servers defined in your ~/.ssh/config without remembering IP addresses or dealing with complex SSH commands.
- β¨οΈ Keyboard-Driven TUI: Intuitive, high-performance terminal interface with fuzzy search, panel switching (0β3), and instant navigation.
- π Advanced Filter Syntax: Filter servers by
tag:,user:,host:,port:,status:, andgroup:with negative exclusions (e.g.-tag:staging). - π Dual-Pane & External SFTP Manager: Built-in WinSCP-style file manager (Ctrl+F) or launch external tools (F) like Yazi, Ranger, FileZilla, Cyberduck, and Dolphin.
- π Port Forwarding Assistant: Interactive wizard (f) for Local (
-L), Remote (-R), and Dynamic SOCKS5 (-D) tunnels with saved favorite profiles per host. - π SSH Certificates & Auto-Renewal: Certificate validity status badges (
β Valid,β Expiring soon,β Expired) and automatic on-demand renewal before connecting (step,vault,tsh). - π‘οΈ Config Safety & Non-Destructive Writes: Atomic saves, rolling backups, and recursive OpenSSH
Includedirective support. - π¦ Backup & Sanitized Export: Archive configuration into
.tar.gzbundles with--sanitizeto strip private key paths and comments for safe team sharing. - π Dotfiles Synchronization (chezmoi): 1-click deployment of personal dotfiles (D) to remote hosts via streaming tar archive with zero remote dependencies.
- π§ Companion Tools Onboarding Wizard: Automated host package manager detection (
brew,apt,dnf,pacman,zypper,apk,winget,scoop,choco) and 1-click installation of native companion tools (chezmoi,yazi,ssh-copy-id) on first launch or vianeossh --setup. - πͺ Pre-Connect Hooks: Automated local scripts before connecting (VPN bring-up, Wake-on-LAN, token refresh).
- π Secure Password Authentication: Automated delivery via
sshpassbacked by native OS keyring (Keychain, Secret Service, Credential Manager) or AES-256-GCM local vault. - π¨ Themes & Internationalization: Dark, Light, and System themes (T), with multilingual UI support (English, French, Simplified Chinese).
brew tap WhiteRoseLK/tap
brew trust WhiteRoseLK/tap
brew install neosshgo install github.com/WhiteRoseLK/neossh/cmd@latest| Platform / Method | Command / Link |
|---|---|
| Arch Linux (AUR) | yay -S neossh or paru -S neossh |
| Windows (Scoop) | scoop install https://raw.githubusercontent.com/WhiteRoseLK/neossh/main/scoop/neossh.json |
| Pre-compiled Binaries | Download from GitHub Releases |
| Build from Source | git clone https://github.com/WhiteRoseLK/neossh.git && cd neossh && make build |
π Full instructions and options in the Installation Guide.
# Launch interactive TUI
neossh
# Run interactive companion tools setup wizard
neossh --setup
# Connect directly to a server without TUI picker
neossh -c my-server
# Quick-launch SFTP file manager
neossh --sftp web-prod
# Launch pre-filtered view (useful for screen shares)
neossh prod
# Open in safe read-only viewer mode
neossh -r
# Connect and exit automatically when the SSH session ends
neossh -c -x my-server| Key | Action |
|---|---|
| Enter | SSH into selected server |
| / or 0 | Fuzzy search by alias, hostname, IP, user, or tags |
| a / e / d | Add / Edit / Delete server configuration |
| y / v | Clone selected server / Paste SSH command from clipboard |
| D | Deploy and sync personal dotfiles to remote server via chezmoi archive |
| f | Interactive SSH port forwarding & tunnel assistant |
| F / Ctrl+F | Launch SFTP session (external tool) / Built-in dual-pane file manager |
| c / o / M | Copy SSH command / Generate SCP templates / Mount via SSHFS |
| G / W | Parallel ping all servers / Toggle periodic background ping watch |
| t / T | Edit server tags in SSH config comments / Toggle color theme |
| Tab / Shift+Tab | Cycle focus between Search, Servers, Active Sessions, and Details |
| q | Quit neossh |
π Complete tables in CLI Reference and Keybindings Reference.
All in-depth documentation is organized in our GitHub Wiki:
| Category | Wiki Pages |
|---|---|
| Getting Started | Installation β’ Quick Start β’ Companion Tools Setup |
| Guides | Server Management β’ Search & Navigation β’ SSH Configuration & Safety β’ Key Management β’ Dotfiles Sync (chezmoi) β’ SFTP & File Transfer β’ Port Forwarding & Tunnels β’ SSHFS Remote Mounts β’ Backup & Export β’ Pre-Connect Hooks β’ Password Auth (sshpass) β’ SSH Certificates β’ Tags & Comments β’ Internationalization (i18n) |
| References | CLI Flags & Options β’ Keybindings Reference β’ Configuration Files Layout β’ Shell Autocompletion β’ Security Policy |
Contributions are welcome! We strive to foster an open, welcoming, and inclusive community:
- Contributing Guide: Development setup, testing, conventions, and pull request guidelines.
- Code of Conduct: Our standards based on the Contributor Covenant v2.1.
- Security Policy: Responsible vulnerability disclosure and security architecture.
This project is licensed under the Apache-2.0 License.
- Adembc β Creator of lazyssh. All core credit for the foundational idea and architecture belongs to him.
Full credit to all upstream and community contributors whose ideas, issues, and code made this continuation possible:




