{"slug": "show-hn-litedeck-agentless-server-management-gui-over-plain-ssh", "title": "Show HN: Litedeck – Agentless server management GUI over plain SSH", "summary": "LiteDeck, a desktop GUI for managing servers over plain SSH, launched with no agent, daemon or package installed on the managed server, according to its public GitHub repository and Show HN post. The app bundles file transfer, a syntax-highlighting editor, systemd and Windows service control, Docker and Podman container management, CPU/memory/disk/network and NVIDIA GPU monitoring, fail2ban and firewall status, and a tabbed terminal in one window, and it records every on-screen action in a Command Log as the actual command, prompting before any sudo escalation. LiteDeck ships as an approximately 6 MB download and 17 MB installed on Windows (12 MB and 30 MB for the Intel/Apple Silicon universal macOS build, measured on v2.4.0), starts in under a second, and adds an MCP integration through which clients such as Claude Code and Codex act on servers over the same SSH connection, with each session drawn as a graph and overwritten or deleted files retained locally for 7 days by default for one-click restore.", "body_md": "**A desktop app for managing the servers you reach over SSH, in one window**\n\n  Nothing gets installed on the server\n\n**English** · [한국어](https://github.com/cpprhtn/LiteDeck/blob/main/README.ko.md)\n\n[Download](#install-and-connect) ·\n  [Features](https://github.com/cpprhtn/LiteDeck/blob/main/docs/features.en.md) ·\n  [Security](https://github.com/cpprhtn/LiteDeck/blob/main/docs/security.en.md) ·\n  [MCP](https://github.com/cpprhtn/LiteDeck/blob/main/docs/mcp.en.md) ·\n  [What's verified](https://github.com/cpprhtn/LiteDeck/blob/main/docs/support.en.md) ·\n  [Contributing](https://github.com/cpprhtn/LiteDeck/blob/main/CONTRIBUTING.md)\n\n<sub>One connection covers **files, the editor, services, processes, containers, the network, sessions, monitoring and a terminal**.\n  Nothing was installed on the server.</sub>\n\nConnect to a server over SSH once, and all of this is in the same window.\n\n| **Files** | Browse, upload, download, transfer whole folders. An interrupted transfer resumes | \n| **Editing** | A syntax-highlighting editor that shows you the difference from what is on the server before it saves | \n| **Services · processes · containers** | systemd units and Windows services, a task-manager-style process table, Docker and Podman containers and Compose projects | \n| **Monitoring** | CPU, memory, disk, network and NVIDIA GPUs, with trends over time and system events | \n| **Security · sessions** | Firewall and fail2ban status, who is connected right now, a summary of failed logins | \n| **Terminal** | A built-in terminal with tabs, splits, themes and your choice of font. Commands that open a file, like `vi nginx.conf` , open it in the app's editor instead | \n| **AI work** | What MCP clients did on your servers through LiteDeck, as a graph per session — and the file changes, ready to put back | \n| **Settings sync**<sub>v2.3.0</sub> | Export your host list and approval policies as one encrypted file and take it to another machine | \n\nThe full list, with the detail, is in [the feature document](https://github.com/cpprhtn/LiteDeck/blob/main/docs/features.en.md).\n\n**The app speaks English and Korean.** It starts in your operating system's language, and `EN` / `KO`\nat the bottom of the sidebar switches it. Every document linked from here has an English version,\nexcept the contributing guide.\n\n1. **Nothing to install on the server.** No agent, daemon or package — it works over the SSH port you already have open. What is left on the server is whatever you asked it to do\n2. **It shows you the commands it ran.** Everything you do on screen is recorded in the Command Log as the actual command. When something needs administrator rights (sudo), it asks first rather than adding it on its own\n3. **No account to sign up for.** Nothing about your use is collected, and the whole source is public\n4. **Lightweight.** Not Electron. About a 6 MB download and 17 MB installed on Windows, and it starts in under a second (sizes measured on v2.4.0; the macOS build is an Intel/Apple Silicon universal binary, so 12 MB and 30 MB there)\n\n<sub>An agent edits an nginx config and restarts nginx. Each call becomes a node as it happens; the change is shown as a diff and put back with one click.</sub>\n\n**Let AI work freely on your servers. What it did shows up as a graph, and changed files can be put back.**\n\nMCP clients such as Claude Code and Codex read and change your servers through LiteDeck — over the same SSH connection as the screen, recorded in the same Command Log, with nothing installed on the server.\n\n- **See what it did.** The AI work screen draws each session as a graph: a band per host, time left\nto right, a file change linked to the restart of the service it belongs to. Give each client its\nown token and the graph says which one did what\n- **Put files back.** Before an AI overwrites or deletes a file, the previous contents are kept on\nthis machine — 7 days by default. Undo one change, or every file change in a session, newest\nfirst; a file something else changed since is skipped and listed\n- **The controls you already had stay as they were.** File changes are confirmed with a diff by\ndefault; per server you can confirm everything, or stop asking for a few hours. Running commands\nand deleting files are separate switches, off by default. None of it can be changed from the AI\nclient's side\n- **What it cannot see or undo.** Only work that went through LiteDeck is in the graph — not what an\nAI did over SSH by itself, and not what you typed in a terminal. Undo restores file contents only;\nrestarts, killed processes and commands stay done\n\n```\nclaude mcp add --transport http litedeck http://127.0.0.1:<port>/mcp \\\n  --header \"Authorization: Bearer <token>\"\n```\n\n→ [MCP integration](https://github.com/cpprhtn/LiteDeck/blob/main/docs/mcp.en.md) — the 18 tools, the approval modes, the graph and its limits\n\nGrab a build from the [releases page](https://github.com/cpprhtn/LiteDeck/releases).\n\n| File | For | \n|---|---|\n| `litedeck-desktop-macos.zip` | macOS (universal, Intel and Apple Silicon) | \n| `litedeck-desktop-windows-amd64.zip` | Windows 10/11 (amd64). Unzip to a single `litedeck.exe` , no installer | \n| `litedeck-desktop-linux-amd64.tar.gz` | Linux (amd64). **Ubuntu 24.04 or newer** — it needs`libwebkit2gtk-4.1` . On 22.04,[build from source](https://github.com/cpprhtn/LiteDeck/blob/main/docs/building.en.md) | \n\nWarning\n\n**These builds are not code-signed.** Signing and notarisation both cost money, so early releases ship unsigned, and\nthe SHA256 checksums published alongside them **are not a substitute for a signature.** If you need that assurance,\n[build from source](https://github.com/cpprhtn/LiteDeck/blob/main/docs/building.en.md).\n\nThat is also why the first launch trips macOS Gatekeeper and Windows SmartScreen. How to get past\nboth is in [Install and server setup](https://github.com/cpprhtn/LiteDeck/blob/main/docs/install.en.md).\n\n**First connection**\n\n1. Open the app and press **+ Add** at the top left. If you use`~/.ssh/config` ,**Import** brings those hosts in at once\n2. Enter the address, the user and how to log in (SSH agent, key file or password)\n3. The first time you connect to a server, you are asked to confirm its host key fingerprint. Confirm it and the server's tabs open\n\n**On the server side.** Linux needs nothing if you can already SSH into it. Windows needs the OpenSSH\nserver switched on. To reach a machine at home from outside, a mesh VPN beats opening a port on your\nrouter — [preparing the server](https://github.com/cpprhtn/LiteDeck/blob/main/docs/install.en.md#preparing-the-server) ·\n[reaching it over Tailscale](https://github.com/cpprhtn/LiteDeck/blob/main/docs/remote-access.en.md)\n\n**Use it from a web browser — server mode.** Instead of the desktop app, you can put LiteDeck on one\nserver and open it in a web browser — `litedeck-server-linux-amd64.tar.gz` ·\n`litedeck-server-linux-arm64.tar.gz`. In that case LiteDeck runs as a web server and has a login\npage. Running it, exposing it and setting up the login are covered in\n[server mode](https://github.com/cpprhtn/LiteDeck/blob/main/docs/server-mode.en.md).\n\nNote\n\n**Runs on macOS, Windows and Ubuntu** — all three confirmed by opening it there. What was tested\nwhere is written down in [What is and is not verified](https://github.com/cpprhtn/LiteDeck/blob/main/docs/support.en.md).\nTry the irreversible actions — deleting files, killing processes — on a throwaway server first.\n\n- **Servers it manages** : Linux with systemd (Ubuntu, Debian, Raspberry Pi and so on) and Windows\n(with the OpenSSH server). Windows servers get the sessions and security tabs; the events tab is not\nthere yet\n- **Machines it runs on** : macOS, Windows 10/11, Linux (Ubuntu 24.04 or newer)\n\n**When this is the right tool**\n\n- You run somewhere between two and six servers yourself. You read logs, restart services and fix config files on them\n- You do not want to install anything else on those servers. SSH is already open, and you would like that to be enough\n- You want a GUI, but you still want to see what it ran\n- You are not giving up your terminal. You just want the frequent things to be a click\n\nIf you need dozens of servers at once, declarative state, or a real remote development environment,\nsomething else is better. Which cases those are is written down in\n[when it is not](https://github.com/cpprhtn/LiteDeck/blob/main/docs/support.en.md#when-it-is-not).\n\n| [Security](https://github.com/cpprhtn/LiteDeck/blob/main/docs/security.en.md) | Host key verification, authentication, credential storage, sudo, the MCP endpoint. **What it cannot do comes first** | \n| [What is and is not verified](https://github.com/cpprhtn/LiteDeck/blob/main/docs/support.en.md) | What was checked where, and what was not. Plus when this is not the right tool, and the non-goals | \n| [MCP integration](https://github.com/cpprhtn/LiteDeck/blob/main/docs/mcp.en.md) | 18 tools, the approval policy, the AI work graph, undo, the safeguards | \n| [Features in detail](https://github.com/cpprhtn/LiteDeck/blob/main/docs/features.en.md) | **The full feature list** , plus the Command Log, the editor, transfers, Compose, the sshd check and ProxyJump | \n| [Install and server setup](https://github.com/cpprhtn/LiteDeck/blob/main/docs/install.en.md) | Getting past the first-launch warning, enabling OpenSSH on Windows | \n| [Reaching a machine over Tailscale](https://github.com/cpprhtn/LiteDeck/blob/main/docs/remote-access.en.md) | Your home machine without port forwarding. Tailscale SSH, MCP, subnet routers, and doing it without an account | \n| [Build from source](https://github.com/cpprhtn/LiteDeck/blob/main/docs/building.en.md) | Building and testing | \n\nSee [CONTRIBUTING.md](https://github.com/cpprhtn/LiteDeck/blob/main/CONTRIBUTING.md) (Korean). The design goal is that **supporting a new server OS means writing one adapter**, which is how Windows support landed. OpenRC (Alpine), launchd (macOS) and FreeBSD are all open.\n\n**Please open pull requests against the `dev` branch** — `main` only receives releases.\n\nFound a vulnerability? Please email **[cpprhtn@naver.com](mailto:cpprhtn@naver.com)** rather than opening a public issue.", "url": "https://wpnews.pro/news/show-hn-litedeck-agentless-server-management-gui-over-plain-ssh", "canonical_source": "https://github.com/cpprhtn/LiteDeck", "published_at": "2026-10-21 01:55:49+00:00", "updated_at": "2026-10-21 02:18:28.089117+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "developer-tools", "ai-tools"], "entities": ["LiteDeck", "Claude Code", "Codex", "Docker", "Podman", "systemd", "fail2ban", "NVIDIA"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-litedeck-agentless-server-management-gui-over-plain-ssh", "markdown": "https://wpnews.pro/news/show-hn-litedeck-agentless-server-management-gui-over-plain-ssh.md", "text": "https://wpnews.pro/news/show-hn-litedeck-agentless-server-management-gui-over-plain-ssh.txt", "jsonld": "https://wpnews.pro/news/show-hn-litedeck-agentless-server-management-gui-over-plain-ssh.jsonld"}}