Prerequisites
| Requirement | Detail |
|---|---|
| Reachable host | The server must accept inbound SSH from CloudThinker on its SSH port |
| Login user | An existing user account with shell access |
| Authorized key | The public half of your key present in that user’s ~/.ssh/authorized_keys |
| Key-based auth enabled | sshd must allow public-key authentication for the user |
Setup
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.Add 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
When the Server’s Identity Changes
The first time you connect, CloudThinker remembers your server’s identity. On every later connection, it checks that the server still matches, so you’re warned if that identity changes unexpectedly. If it changes, the connection stops and CloudThinker shows you both the previously trusted fingerprint and the new one. This normally happens after you rebuild a server or rotate its keys. Once you’ve confirmed the change is expected, choose Trust new host key to continue.Agent Capabilities
Once connected, agents run shell commands on your server over SSH:| Capability | Description |
|---|---|
| System inspection | Disk, memory, CPU, processes, and service status |
| Log analysis | Read and search application and system logs |
| Diagnostics | Investigate failures, connectivity, and configuration on the host |
| Operational checks | Run read-only commands to report on the server’s state |
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 Best Practices
- Dedicated key - Generate a key pair used only for CloudThinker so it can be revoked independently
- Least-privilege user - Connect as a user scoped to only what your agents need
- Restrict the key - Use
command=andfrom=options inauthorized_keysto limit what the key can do and where it can connect from - Protect the key - Use a passphrase-protected private key
- Rotate keys - Replace the key periodically and remove old entries from
authorized_keys - Verify host keys - Always confirm a host key change is expected before re-trusting
Related
Alex Agent
Cloud engineering and infrastructure operations
Kubernetes Connection
Connect clusters for workload analysis and operations