SSH keys provide secure access to your virtual machines, replacing password-based authentication with more secure cryptographic keys. At least one SSH key is required for VM deployment.

SSH Key Creation Process

To create a new SSH key:

1

Navigate to SSH Keys

Navigate to the SSH Keys page from the sidebar

2

Initiate Creation

Click “Create Key” button

3

Name Your Key

Enter a descriptive name for the key (maximum 50 characters):

  • Names must contain only letters, numbers, underscores, hyphens, and periods
  • Use descriptive names like “my-project-key” or “development-server”
  • Choose names that help identify the key’s purpose
4

Generate Key

Click “Create Key” to generate the keypair:

  • System automatically generates a secure 2048-bit RSA public/private key pair
  • Private key file will automatically download to your computer
  • Public key is stored in your account for VM deployment

Key Generation Features

Automatic Generation Process

Secure Generation

Cryptographic Security

  • 2048-bit RSA encryption for strong security
  • Cryptographically secure random generation
  • Industry-standard key format
  • Compatible with all SSH clients and servers

Instant Download

Secure Key Delivery

  • Private key automatically downloads during creation
  • Download happens only once for security
  • File is named with your chosen key name
  • Ready to use immediately with proper permissions

Platform Integration

Critical Security Notice

Private Key Security - READ CAREFULLY:

One-Time Download: The private key is only available for download once during creation • No Recovery: Private keys cannot be retrieved later from our servers • Automatic Download: Private key file automatically downloads for security reasons • Never Share: Never share your private key with anyone or upload it to version control • Secure Storage: Back up your private key in a secure, encrypted location • Irreplaceable: If you lose the private key, you’ll need to create a new SSH key pair

Private Key Handling

1

Immediate Download

Private key downloads automatically upon creation

2

Secure Storage

Move the downloaded key to a secure location (e.g., ~/.ssh/)

3

Set Permissions

Set correct file permissions for security

4

Create Backup

Create encrypted backups of important private keys

Setting Private Key Permissions

After downloading your private key file, you must set the correct permissions for security:

Set Secure Permissions

chmod 600 /path/to/your_private_key.pem

Example:

# Move key to SSH directory
mv ~/Downloads/my-project-key.pem ~/.ssh/

# Set secure permissions
chmod 600 ~/.ssh/my-project-key.pem

This command ensures only you can read and write the file, which is required for SSH security.

Key Naming Requirements

Naming Rules and Validation

Key Limits and Restrictions

Account Limitations

Quantity Limits

Key Count Restrictions

  • Maximum of 25 SSH keys per region
  • Keys automatically distributed to all regions
  • Limit applies to total keys across account
  • Delete unused keys to free quota

Technical Specifications

Key Specifications

  • Generated keys use 2048-bit RSA encryption
  • Industry-standard OpenSSH format
  • Compatible with all major SSH clients
  • Suitable for all security requirements

Key Management Best Practices

1

Plan Key Usage

  • Determine how many keys you need
  • Plan separate keys for different purposes
  • Consider team access requirements
  • Plan for key rotation schedules
2

Use Descriptive Names

  • Choose names that indicate key purpose
  • Include environment or project identifiers
  • Avoid generic or temporary names
  • Document key purposes and usage
3

Secure Key Storage

  • Store private keys in secure locations
  • Use encrypted storage for backups
  • Set proper file permissions
  • Never share private keys
4

Regular Maintenance

  • Review and audit key usage regularly
  • Remove unused or unnecessary keys
  • Rotate keys based on security policies
  • Monitor key access and usage patterns

Using Created SSH Keys

VM Deployment Integration

Connection Examples

Once your key is created and VM is deployed:

Standard SSH Connection

ssh -i ~/.ssh/your-private-key.pem ubuntu@vm-ip-address

Parameters:

  • -i specifies the private key file
  • ubuntu is the username (varies by OS)
  • vm-ip-address is your VM’s public IP

Key Security Best Practices

Generation Security

Strong Generation

Secure Key Creation

  • Always use platform-generated keys for maximum security
  • 2048-bit RSA provides excellent security for most use cases
  • Keys generated using cryptographically secure random sources
  • No need to generate keys manually unless specifically required

Unique Keys

Key Separation

  • Generate separate keys for different projects or environments
  • Use different keys for production and development
  • Consider separate keys for different team members
  • Avoid reusing keys across multiple purposes

Storage Security

Troubleshooting Key Creation

Common Issues

Private Key Download Issues

  • Browser Settings: Check popup blockers and download settings
  • Antivirus: Verify antivirus isn’t blocking downloads
  • Storage Space: Ensure sufficient disk space for download
  • Permissions: Check browser download folder permissions

Error Resolution

1

Identify the Issue

  • Read error messages carefully
  • Check browser console for technical errors
  • Verify account status and limits
  • Test with different browsers if needed
2

Apply Appropriate Solution

  • Address specific error conditions
  • Clear browser cache if needed
  • Try alternative download methods
  • Contact support for persistent issues
3

Verify Success

  • Confirm private key downloaded successfully
  • Check key appears in SSH keys list
  • Test key with VM deployment
  • Verify key functionality with test connection
4

Secure the Key

  • Set proper file permissions immediately
  • Move key to secure location
  • Create backup if key is important
  • Document key purpose and usage

Remember: SSH keys provide the foundation for secure access to your virtual machines. Take time to properly name, secure, and manage your keys for optimal security and usability.

Pro Tip: Create separate SSH keys for different environments (development, staging, production) and projects. This provides better security isolation and makes it easier to manage access as your infrastructure grows.