Prerequisites
Setup
1
Prepare a key pair
Use an existing key pair or generate a dedicated one for CloudThinker:This produces
cloudthinker_key (private) and cloudthinker_key.pub (public). Both OpenSSH (-----BEGIN OPENSSH PRIVATE KEY-----) and PEM (-----BEGIN RSA/EC PRIVATE KEY-----) formats are accepted, including ed25519, rsa, and ecdsa keys.2
Authorize the public key
Add the public key to the login user’s authorized keys on the server:
3
Add the connection in CloudThinker
Navigate to Connections → SSH and enter:
- Host: hostname or IP, e.g.
server.example.comor10.0.0.5 - User: the login user, e.g.
ubuntu - Port: SSH port (optional, defaults to
22) - Private key: the full private key, including the
BEGIN/ENDlines - Passphrase: optional, only needed if the private key has one
Host-key verification
The first time you connect, CloudThinker records your server’s host key. On every later connection it checks that the key still matches, so you are warned if the server’s identity changes unexpectedly. If the key changes, the connection stops and CloudThinker shows you both the previously trusted fingerprint and the new one. This normally happens after a server rebuild or SSH key rotation. Once you have confirmed the change is expected, choose Trust new host key to continue.Connection details
Required permissions
Alex runs commands with the permissions of the login user. No root access is required unless your agents need to run privileged commands.Agent capabilities
Once connected, Alex runs shell commands on your server over SSH.Verify the connection
Example prompts
Troubleshooting
Authentication failed
Authentication failed
- Confirm the public key is in the login user’s
~/.ssh/authorized_keys - Verify the User matches an account that key is authorized for
- Ensure the private key was pasted in full, including the
BEGIN/ENDlines - If the key is passphrase-protected, provide the Passphrase
Could not reach the host
Could not reach the host
- Verify the Host and Port are correct
- Confirm the server accepts SSH from CloudThinker (firewall, security group, or allowlist)
- Check that the SSH daemon is running and listening on that port
Host key has changed
Host key has changed
- Expected after a server rebuild or SSH key rotation: review the new fingerprint and choose Trust new host key
- If the change is unexpected, investigate before re-trusting
Remote command failed
Remote command failed
- The connection is healthy but the command returned a non-zero exit code
- Check the command, the user’s permissions, and paths on the remote host
Security
- Least privilege — grant only the permissions the agents need for your use case; start read-only and widen later.
- Read-only by default — use read-only credentials unless you want agents to make changes through this connection.
- Rotate credentials — rotate keys and tokens on your normal schedule; CloudThinker picks up the new value when you update the connection.
- Revoke on offboarding — remove the credential at the provider when you delete a connection or a teammate leaves.
- Dedicated key — generate a key pair used only for CloudThinker so it can be revoked independently.
- Rotate and verify — replace the key periodically and always confirm a host key change before re-trusting.
Related
Alex Agent
Cloud engineering and infrastructure operations
Kubernetes Connection
Connect clusters for workload analysis and operations