An Electron desktop app for managing SSH configs, public key rollout, remote terminals, remote files, repeatable operation macros, and Codex Remote connections from one workspace.
Remote Management Tool helps developers and operators manage many SSH servers without constantly hand-editing ~/.ssh/config. It is more than an SSH launcher: it brings together day-to-day remote operations, safer SSH configuration workflows, and project instructions that Codex can use to understand and maintain the codebase.
- You manage many SSH hosts and want aliases, IPs, users, ports, ProxyJump routes, and tags in one place.
- You do not want to repeat terminal commands for connection checks, public key registration, remote file access, and SSH sessions.
- You upload files or folders and then run the same remote shell scripts for deployment, inspection, or maintenance.
- You want Codex to work with clear architecture, security, release, and development rules already documented in the repository.
- Lists, searches, and filters
Hostblocks from~/.ssh/config. - Adds, edits, deletes, and drag-sorts hosts.
- Edits
HostName,User,Port,IdentityFile,ProxyJump,ForwardAgent,ServerAliveInterval, andStrictHostKeyChecking. - Preserves wildcard hosts and complex raw config text where possible.
- Checks all host connection statuses and provides a fix action for known_hosts conflicts.
- Shows local
id_rsa/id_rsa.pubstatus. - Generates, regenerates, and deletes RSA keys.
- Registers the local
id_rsa.pubin remote~/.ssh/authorized_keyswithout duplicating entries. - Lists and deletes remote authorized_keys entries.
- Supports connection tests and macro runs for hosts that require a temporary password.
- Runs host-level connection tests, macros, and stdin input from an execution panel.
- Provides an xterm-based remote terminal tab.
- Browses remote files with list, upload, download, delete, and drag-move actions.
- Opens Markdown previews, Monaco-powered text editing, and image previews.
- Keeps terminal state and execution logs per host.
- Stores global macros and host-specific macros.
- Uploads files or folders before running a remote shell script.
- Logs each execution step with command, exit code, stdout, stderr, and duration.
- Supports default macros and macro import/export.
- Provides full backup/restore and global-macro-only backup/restore flows.
This repository is designed so Codex can understand the project quickly and work inside its safety boundaries.
- The app includes a Codex Remote connections button in Settings. It enables
[features] remote_connections = truein the current user's~/.codex/config.toml. codex-instructions/contains the first-read project rules for Codex, split by feature and risk area.- Security-sensitive areas such as SSH config handling, key material, and remote command execution are documented with clear Electron main/preload/renderer boundaries.
- Viewer behavior, macro execution, release packaging, and devlog rules are separated so Codex can make focused changes without rediscovering the project shape.
Start with codex-instructions/00-index.md when using Codex on this project.
- Electron
- Angular
- Tailwind CSS
- ssh2
- xterm.js
- Monaco Editor
- electron-builder
Install dependencies:
npm installRun the desktop app in development mode:
npm run electron:devPreview the built Angular app in Electron:
npm run electron:previewBuild Angular only:
npm run buildCreate installer artifacts:
npm run distPlatform-specific packaging scripts are also available:
npm run dist:mac
npm run dist:win- SSH config:
~/.ssh/config - SSH key:
~/.ssh/id_rsa,~/.ssh/id_rsa.pub - Macro data:
macros.jsonunder Electron'suserDatapath - Codex config:
~/.codex/config.toml
- The renderer does not access Node.js APIs directly; it only calls limited APIs exposed through preload.
- SSH config saves preserve comments and raw text as much as possible.
- Private key contents are never displayed in the UI or logs.
- Passwords are not stored and are only used for the current request.
- Remote command output is shown only in the local log panel and is not sent elsewhere.
- The macro store is not a secret vault. Avoid storing tokens, passwords, private keys, or other sensitive values in macros.
codex-instructions/01-system-definition.md: product purpose and supported scopecodex-instructions/02-architecture.md: Electron main/preload/renderer architecturecodex-instructions/03-ssh-config-management.md: SSH config management rulescodex-instructions/05-macro-execution.md: macro model and execution flowcodex-instructions/09-viewer-standard.md: remote file viewer standarddevlog.md: change history
