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
Seamless Integration
Seamless 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
Multi-Region Distribution
Multi-Region Distribution
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 PermissionsExample:This command ensures only you can read and write the file, which is required for SSH security.
Key Naming Requirements
Naming Rules and Validation
Character Requirements
Character Requirements
Allowed Characters
- Letters (a-z, A-Z)
- Numbers (0-9)
- Underscores (_)
- Hyphens (-)
- Periods (.)
- No spaces or special characters
Length and Uniqueness
Length and Uniqueness
Naming Constraints
- Maximum length: 50 characters
- Minimum length: 1 character
- Must be unique within your account
- Cannot be empty or whitespace only
Best Practices
Best Practices
Effective Naming
- Use descriptive names indicating purpose
- Include project or environment identifiers
- Avoid generic names like “key1” or “test”
- Consider versioning for key rotation
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
Automatic Selection
Automatic Selection
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
Multi-Key Deployment
Multi-Key Deployment
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 ConnectionParameters:
-i
specifies the private key fileubuntu
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
Local Storage
Local Storage
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
Backup Strategy
Backup Strategy
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
Access Control
Access Control
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.