Back to docs index

Cloud Providers

Termial integrates with major cloud providers, letting you browse and connect to your cloud instances directly from the app.

Supported Providers

  • Amazon Web Services (AWS) - EC2 instances
  • Google Cloud Platform (GCP) - Compute Engine instances
  • Microsoft Azure - Virtual Machines

Adding a Cloud Connection

  1. Click the + button in the sidebar under Cloud Connections
  2. Select New Cloud Connection
  3. Choose your provider (AWS, Azure, or GCP)
  4. Enter your credentials
  5. Click Save

AWS Configuration

Required Information

  • Access Key: Your AWS access key ID
  • Secret Key: Your AWS secret access key
  • Region: The AWS region to connect to (e.g., us-east-1)

Getting AWS Credentials

  1. Sign in to the AWS Console
  2. Go to IAMUsers → Your user
  3. Go to Security credentials
  4. Click Create access key
  5. Copy the Access Key ID and Secret Access Key

Required Permissions

Your AWS user needs permissions to:

  • ec2:DescribeInstances - List instances
  • ec2:DescribeSecurityGroups - View security groups
  • ec2:AuthorizeSecurityGroupIngress - Add SSH rules (optional, for auto-adding your IP)

Google Cloud Configuration

Required Information

  • Service Account Key: JSON key file from GCP
  • Project ID: Your GCP project ID

Getting GCP Credentials

  1. Go to the GCP Console
  2. Navigate to IAM & AdminService Accounts
  3. Create a service account or select an existing one
  4. Click Add KeyCreate new key
  5. Choose JSON format
  6. Save the key file

Required Permissions

Your service account needs the Compute Viewer role or equivalent permissions.

Azure Configuration

Required Information

  • Subscription ID: Your Azure subscription
  • Tenant ID: Your Azure AD tenant
  • Client ID: Application (client) ID
  • Client Secret: Application secret

Getting Azure Credentials

  1. Go to the Azure Portal
  2. Navigate to Azure Active DirectoryApp registrations
  3. Create a new registration or use existing
  4. Note the Application (client) ID and Directory (tenant) ID
  5. Go to Certificates & secretsNew client secret
  6. Copy the secret value

Required Permissions

Assign the Reader role on the subscription or resource group containing your VMs.

Using Cloud Connections

Once configured, your cloud connection appears in the sidebar:

  1. Click on the cloud connection to expand it
  2. Browse available instances by region/zone
  3. See instance status (running, stopped, etc.)
  4. Double-click an instance to connect via SSH

Connecting to Instances

When you connect to a cloud instance:

  1. Termial retrieves the instance's public IP
  2. Creates an SSH connection
  3. You provide the SSH credentials (key or password)

SSH Access Setup

Ensure your instances are configured for SSH access:

AWS:

  • Instance has a public IP or you're using a bastion
  • Security group allows SSH (port 22) from your IP
  • You have the SSH key pair

GCP:

  • Instance has external IP
  • Firewall allows SSH from your IP
  • SSH keys configured in metadata

Azure:

  • VM has public IP
  • NSG allows SSH from your IP
  • SSH configured on the VM

Managing Cloud Connections

Editing

  1. Right-click a cloud connection
  2. Select Edit
  3. Update credentials or settings
  4. Save changes

Deleting

  1. Right-click a cloud connection
  2. Select Delete
  3. Confirm deletion

Credentials are removed from your encrypted storage.

Security

Credential Storage

Cloud credentials are:

  • Encrypted locally with your passphrase
  • Synced encrypted to the cloud (if sync enabled)
  • Never stored in plain text

Best Practices

  1. Use least privilege - Only grant necessary permissions
  2. Rotate credentials - Change keys regularly
  3. Use IAM roles - When possible, use roles instead of long-term keys
  4. Monitor usage - Check cloud provider logs for unusual activity

Troubleshooting

Can't List Instances

  • Verify credentials are correct
  • Check permissions/roles
  • Ensure the region is correct
  • Check network connectivity

Connection Failed

  • Verify instance is running
  • Check security group/firewall rules
  • Ensure SSH is configured on the instance
  • Verify you have the correct SSH key