Skip to main content
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

Platform-Wide Availability
  • Public key automatically stored in your account
  • Key distributed to all regions automatically
  • Available for immediate VM deployment
  • No additional configuration required
Global Availability
  • Keys automatically available in all regions:
    • NORWAY-1 (Europe)
    • CANADA-1 (North America)
    • US-1 (United States)
  • No manual distribution required
  • Consistent access across all deployments

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:
  • Linux/MacOS
  • Windows
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

Allowed Characters
  • Letters (a-z, A-Z)
  • Numbers (0-9)
  • Underscores (_)
  • Hyphens (-)
  • Periods (.)
  • No spaces or special characters
Naming Constraints
  • Maximum length: 50 characters
  • Minimum length: 1 character
  • Must be unique within your account
  • Cannot be empty or whitespace only
Effective Naming
  • Use descriptive names indicating purpose
  • Include project or environment identifiers
  • Avoid generic names like “key1” or “test”
  • Consider versioning for key rotation
Good Examples:
  • production-web-servers
  • ml-development-team
  • personal-laptop-key
  • backup-access-key-v2

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

Seamless VM Deployment
  • Keys automatically appear in VM deployment interface
  • If you have only one key, it’s automatically selected
  • Multiple keys can be selected for team access
  • Keys work immediately after creation
Team Collaboration
  • Select multiple keys during VM deployment
  • Each team member can use their own key
  • Shared access without shared credentials
  • Individual accountability and access control

Connection Examples

Once your key is created and VM is deployed:
  • Basic Connection
  • SSH Config
  • Troubleshooting
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

Secure Private Key Storage
  • Store private keys in ~/.ssh/ directory
  • Set file permissions to 600 (owner read/write only)
  • Use encrypted filesystems where possible
  • Avoid storing keys in cloud storage or version control
Secure Backup Practices
  • Create encrypted backups of important private keys
  • Store backups in secure, offline locations
  • Use password-protected archives for key backups
  • Test backup restoration procedures regularly
Key Access Management
  • Limit access to private key files
  • Use proper user account permissions
  • Monitor key file access and modifications
  • Remove keys from compromised systems immediately

Troubleshooting Key Creation

Common Issues

  • Download Problems
  • Naming Issues
  • Account Limits
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.
I