Skip to content

Managing servers

DasDuo edited this page Jun 18, 2026 · 7 revisions

Managing servers

When the JSON source is active, Settings → "Add / edit servers…" opens an editor to manage your connection list from a GUI — no hand-editing of JSON required.

What you can do

  • Add a server with a form: Name, Group, User, Host or IP, Port, and an optional remote command.
  • Edit any entry — including renaming it or moving it to another group.
  • Reorder entries within a group by dragging them (use the ≡ handle / drag the row).
  • Favorite an entry to pin it to a ★ Favorites section at the top of the dropdown — hover the star on a menu row, or use the Favorite toggle in the editor.
  • Delete entries; a group with no entries left is removed automatically.

Entries with the same name (e.g. two "AdGuard" with different IPs) are kept distinct — editing, deleting or reordering one never affects the other.

Fields

Field Notes
Name Display name in the menu (required). Duplicate names are fine.
Group Type a new group or pick an existing one. Empty → "Servers".
User Optional; becomes user@host.
Host or IP Required (in connection mode).
Port Optional; omitted when 22.
Remote command Optional. Runs on the server with a TTY: ssh -t user@host <command> — e.g. htop, tail -f /var/log/syslog. Empty = interactive shell.
Raw custom command Toggle. Runs verbatim and ignores user/host/port — e.g. ssh -J jump root@10.0.0.5.
Favorite Toggle. Pins the entry to the ★ Favorites section at the top of the menu.

Favorites

Pin the servers you use most to a ★ Favorites section at the very top of the dropdown:

  • Click the star that appears when you hover a row in the menu (filled = pinned), or use the Favorite toggle in the editor.
  • The section is expanded by default when it has ≤ 5 entries, and is always collapsible.
  • A favorite also still appears in its normal group — pinning is a shortcut, not a move.
  • Favorites are stored as favorite: true on the JSON entry (only written when set). This works with the JSON source (ShuttleX can't write ~/.ssh/config).

Running a command on a server

To pin a one-click action (monitor, restart, log tail), fill in Remote command:

  • It keeps your User / Host / Port and runs ssh -t user@host '<command>'.
  • The -t gives a TTY, so interactive tools like htop render correctly.
  • Leave it empty for a normal interactive shell.

For something the connection fields can't express (jump hosts, tunnels), flip on Raw custom command and write the whole line yourself.

Safety

Host, IP and user are validated: values containing whitespace or shell metacharacters are rejected with an inline message. On top of that, every connection target is shell-quoted when the ssh command is built, so server data can't inject shell commands. See also Table import → Safety.

Every change writes the JSON file and snapshots the previous version — see Backups.

Clone this wiki locally