CtrlOps
|Docs
Product Modules

Server Management

Add, connect, and manage Linux servers from the CtrlOps dashboard. Quick-connect via SSH string, set up keys, and back up your server list.

The CtrlOps Home page is where you add servers and manage every saved connection, all without remembering an ssh command. Once you're connected, head to SSH Key Management to control who can log in to a server, or to Access Management for the fleet-wide view of who can reach what. For an overview of the server management dashboard itself, see the feature page.

Add servers and manage your connections

  • Add a new server with a password or a .pem key.
  • Paste a full SSH connection string and let CtrlOps fill the form for you.
  • Set a custom port or route through a bastion with a proxy command.
  • Generate an SSH key pair on your local machine with the setup wizard.
  • Edit, reconnect, or delete saved servers from their cards.
  • Favorite the servers you use most and reach them from the Favorites tab.
  • Tag servers by environment and filter the Home page down to one environment at a time.
  • Test connections before saving.
  • Import or export your saved server list as a JSON backup.

Add a new server connection

This is what you do the very first time, on the Home page.

Open the Add Connection form

Open app → Click New Connection (top left of the sidebar)

The green New connection button sits at the top of the left sidebar, above the workspace list.

A modal opens with two tabs: SSH-based Connection and .pem Key-based Connection.

At the top is a Quick Connect via SSH String field. If you already have a working SSH command, paste it here (e.g. ssh -i ~/.ssh/mykey.pem user@192.168.1.1 -p 2222, or a plain ubuntu@host) and CtrlOps auto-fills the IP, Username, Port, and key path on either tab. Skip it if you'd rather type the details in by hand.

Fill in the basics (both tabs)

FieldWhat to enter
Server Name (optional)A friendly name like Production API. Helps when you have many servers.
Tag (optional)Mark the server as Production, Staging, or Development. Servers with no tag stay in the Untagged group. Used by the tag filter on the Home page.
IP AddressThe server's IP or hostname, e.g. 192.168.1.10 or api.yoursite.com
PortThe SSH port. Defaults to 22; change it only if your server uses a non-standard port.
UsernameThe Linux user to log in as, e.g. ubuntu, root, ec2-user

Pick your auth method

For password-based servers:

Stay on the SSH-based Connection tab. Toggle on Use password authentication. A password field appears.

FieldWhat to enter
PasswordYour SSH password. Click the eye icon to confirm what you typed.
Remember passwordCheck it to save the password (encrypted). Leave it unchecked to be prompted every time.

For key-based servers (most cloud VMs):

Switch to the .pem Key-based Connection tab.

ActionWhat it does
Select .pem Key FileOpens a file picker. Pick the private key file you downloaded from AWS, GCP, etc.
Manual path inputOr paste the full path to the key file if you know it.

Connect through a proxy (optional)

If the server is only reachable through a bastion or jump host, expand Advanced Settings and fill in the Proxy Command field, e.g. ssh -W %h:%p user@bastion. Leave it empty for servers you can reach directly.

Test and save

Click Connect SSH (or Connect with .pem)

A spinner shows "Connecting to server...". CtrlOps tries to actually log in. After 5 seconds, you'll see a "Taking longer than usual" note if the server is slow.

If the connection works, the server is saved and you land in Instance Details straight away. If something fails, you'll see "Connection Failed" with the error and a list of things to check, fix the input and try again.

Windows servers are not supported. If you point CtrlOps at a Windows machine, you'll see "Windows Server Not Supported" with the list of OSes that work (Ubuntu, Debian, CentOS, RHEL, Fedora, Amazon Linux).

What you see after connecting

The header at the top of the server view carries the context for the session you just opened.

Header elementWhat it shows
Server nameThe name you gave the connection. If you didn't set one, the IP shows here.
username@ipThe system user this session is logged in as
Role badgeThe access level that system user holds: SUDO, STANDARD, or RESTRICTED. See System Users and Roles.
Tag badgeThe environment you tagged the server with. Untagged servers show no badge. See Tag servers and filter by environment.

Both badges are worth a glance before you start. The role tells you what this session is allowed to do, and the tag tells you which environment you are about to touch.

Manage your saved servers

Each saved server appears as a card on the Home page.

Card elementWhat it shows / does
Server nameBold heading. If you didn't set a name, the IP shows here.
Username and IPGray text in the form username@ip
Last connectedSmall timestamp
Tag badgeThe server's environment, shown as a coloured badge when you've set one. Untagged servers show no badge. The same badge appears in the header once you connect.
Favorite (star icon)Click to mark the server as a favorite. It then appears under the Favorites tab for quick access.
Connect (play icon)Tests the connection then opens Instance Details
Edit (pencil icon)Opens the same form pre-filled, so you can change details
Delete (red trash icon)Asks "Are you sure to delete this connection?". Click Yes to remove it.

Favorite your most-used servers

When you have a long list of servers, favorites keep the ones you reach for most just a click away, no scrolling or searching through the full list.

Mark a server as a favorite

Click the star icon on the server's card (bottom row, next to Edit and Delete)

The star fills in to show it's a favorite. Click it again any time to remove the favorite.

Open the Favorites tab

Click Favorites in the left sidebar (under Workspace)

You'll see only your favorited servers, with the same Connect, Edit, and Delete actions as the main list. The sidebar shows a count next to Favorites so you know how many you've pinned.

Favorite the handful of servers you connect to every day. With 50 servers in your workspace, jumping straight to the Favorites tab is far faster than filtering the full list each time.

Tag servers and filter by environment

Favorites cover the handful of servers you touch daily. Tags handle the other problem, telling production apart from staging when the list gets long, so you can narrow the Home page to one environment before you start working.

Tag a server

Click Edit on the server's card → Pick a tag → Save

The Tag field offers three environments: Production, Staging, and Development. You can also set it when you first add the server, on either the SSH-based or .pem tab. Leave it empty and the server lands in Untagged, which is a real filter option rather than a hidden bucket.

Open the tag filter

Click the funnel icon (top right of the server list, next to the view switcher)

A dropdown opens with a Search in filters box at the top, a Select all items row, one row per tag with its colour dot, and a Reset link at the bottom.

Filter to one or more environments

Tick the tags you want to see

The list narrows as you tick. Ticking is additive, so Production and Staging together shows both. Tick Untagged on its own to find the servers you added quickly and never labelled.

Clear the filter

Click Reset (bottom of the dropdown)

The full list comes back. Select all items does the same thing in one click when you have several tags ticked.

Filter to Production before a deploy or a restart. When the list only holds production servers, you can't fire a command at a staging box by mistake, which is the failure mode a long unfiltered list invites.

Connect with a "remember password" off

If you saved a connection without ticking Remember password, CtrlOps prompts you each time.

Click the server card → Password modal opens → Type the password → Click Connect

You'll see the server name at the top of the modal so you know which password is being asked for. Tick Remember password in this modal if you want to skip it next time.

Set up SSH keys for the first time (the wizard)

If you've never used SSH before, the wizard walks you through generating a key on your computer and copying the public part onto the server.

Open the wizard

In the left sidebar, under TOOLS, click SSH Setup

The wizard opens in its own tab with three steps - SSH Installation, SSH Keys, and Server Setup - and a progress indicator at the top.

SSH installation check

CtrlOps checks if ssh is installed on your computer. If yes, you'll see the version and path. If no, you'll see install instructions for Mac, Windows, and Linux. Follow them, then click Check Again.

When SSH is found, click Next.

SSH key setup

The Your SSH keys card lists every public key found in ~/.ssh with its bit size and a Copy Key button. If a key is already there, skip ahead.

If you don't have keys, use the Generate another key card. There's no form to fill in, just one of two buttons:

ButtonWhen to use it
Generate Ed25519 KeyThe default choice. Smaller and more secure than RSA.
Generate RSA KeyOnly when your server can't accept Ed25519 keys.

Wait for the success toast and the new key appears in the list above.

The key is saved on your computer in the standard location (~/.ssh/). Click Next.

Add the public key to the server

The Your public keys card repeats your keys with a Copy Key button, plus a Refresh button if you generated a key elsewhere. Below it, three methods are shown.

MethodWhen to use it
Method 1 (Recommended): Run ssh-copy-id username@server-ip from your terminalWhen you can already log in with a password
Method 2: Manually append to ~/.ssh/authorized_keysWhen you have shell access via another tool
Method 3: Add through your cloud provider dashboardFirst-time setup on AWS, GCP, etc.

A Detailed setup instructions section expands to show the exact commands, each with its own Copy button - the ssh-copy-id one-liner, then a six-command Manual method covering mkdir -p ~/.ssh, appending to authorized_keys, and the chmod 600 / chmod 700 permissions. Click Copy Key to copy the public key to your clipboard, then paste it wherever the method needs it.

Click Complete setup to close the wizard. You can now use the key when adding a connection.

Backup your saved servers

Useful when you switch computers or want a backup.

Export

Open app → Click the three-dot menu (top right) → Export

A save dialog opens with the default name ctrlops_servers_backup_YYYY-MM-DD.json. The file contains all your saved connections, including any saved passwords and key paths.

The export includes saved passwords. Treat the JSON file like a password file: store it securely.

Import

Three-dot menu → Import → Pick a JSON file

CtrlOps adds new connections and skips duplicates (matched by username, IP, port). You'll see a toast like "Import complete! Added 5 new servers, 2 duplicates skipped".

Tips

Prefer Ed25519 keys for new setups. They're shorter, faster, and at least as secure as RSA 4096.

Add a meaningful comment when generating a key (the Email field). When you have keys from several machines on a server, the comment is the only way to tell them apart.

Troubleshooting