CtrlOps
|Docs
Troubleshooting

Connection Issues

Fix SSH connection failures in CtrlOps. Diagnose timeouts, key errors, firewall rules, and security groups for AWS, GCP, Azure, DigitalOcean - in minutes.

You hit New Connection, fill in the form, click Connect SSH, and instead of landing in your server you see "Connection Failed" or "Taking longer than usual". This page walks through the most common causes and exact fixes.

How to Diagnose SSH Connection Failures

  • Why a "Connection failed" error appears and how to read every row of the modal.
  • Copying the full error report to share with support or the AI Assistant.
  • Fixing wrong username, wrong key, or wrong IP.
  • Firewall and security group fixes for AWS, GCP, Azure, DigitalOcean.
  • What to do when CtrlOps says "Windows Server Not Supported".
  • When to use the SSH Setup Wizard.

First, find the exact error

When a connection fails, CtrlOps opens a Connection failed modal that breaks the failure down rather than dumping a raw SSH string at you. Read it top to bottom:

RowWhat it tells you
ServerThe saved connection name, so you know which server this is about
AddressThe user@ip:port CtrlOps actually dialled. Check this first, a typo here explains a surprising share of failures
Failed atThe stage that broke, e.g. Dialling (TCP + SSH handshake). This alone splits network problems from auth problems
TookHow long it tried before giving up. A full 45 seconds points at a firewall silently dropping packets; a failure in under a second points at auth or a refused port
ErrorA category / code pair such as network / PreflightTimeout

Under that, What happened is a timestamped timeline of the attempt, marking which lines came from the app and which from SSH, so you can see exactly where it stalled. Three buttons sit at the bottom: Close, Try again, and Copy report.

The error wording still matters most. Scan the table below to find your case:

What the error saysMost likely cause
"Connection timed out"Firewall or security group blocking port 22
"Connection refused"SSH service isn't running on the server
"Permission denied (publickey, password)"Wrong username, wrong password, or wrong key
"Host key verification failed"Server's identity changed since you last connected
"Network unreachable"DNS or routing problem
"Taking longer than usual"Slow server, slow network, or wrong IP
"Windows Server Not Supported"The server is running Windows; use a Linux server instead

Copy the full error report

Click Copy report (bottom right of the Connection failed modal)

This puts the whole failure on your clipboard as plain text: the server name, the address dialled, the stage it failed at, how long it took, the error category and code, and the complete What happened timeline. Paste it straight into Discord, an email, or the AI Assistant instead of retyping an error message from memory or a screenshot.

The report is safe to share. It carries the address CtrlOps dialled and the trace of what happened, never your password or the contents of your private key.

Common problems and fixes

When all else fails: gather details and ask

Before you reach out for help, collect:

InfoWhere to find it
Everything about the failure itselfClick Copy report in the Connection failed modal. It captures the server, the address dialled, the stage it failed at, the timing, the error code, and the full timeline in one paste
Auth methodPassword, .pem key, or SSH Agent
Cloud providerAWS, GCP, DigitalOcean, etc.
Output of ssh -vvv user@ip from your local terminalRun on your local machine to capture verbose SSH logs

Then bring it to:

  • Discord community: Join Discord
  • AI Assistant inside CtrlOps, paste the copied report and ask for a translation. It's surprisingly good at decoding SSH error messages.

Always keep a fallback way into your server, your cloud provider's web console, a second user, or a different SSH key on a different machine. The day your only SSH key stops working is not the day you want to be locked out.