Security
SSH Keys
SSH keys provide secure, password-less access to your virtual machines.
What are SSH Keys?
SSH keys are a pair of cryptographic keys used for authentication. The private key stays on your computer, while the public key is added to your VM. When you connect, the server verifies that you have the matching private key.
✓ Advantages
- • More secure than passwords
- • Can't be brute-forced
- • No password to remember
- • Can be revoked instantly
Key Types Supported
- • Ed25519 (recommended)
- • RSA (2048-bit minimum)
- • ECDSA
Generating an SSH Key Pair
If you don't already have an SSH key, you can generate one using your terminal.
On Mac/Linux
# Generate an Ed25519 key (recommended)
ssh-keygen -t ed25519 -C "your_email@example.com"
# Or generate an RSA key (wider compatibility)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" When prompted:
- Press Enter to save to the default location (
~/.ssh/id_ed25519) - Optionally enter a passphrase for extra security
On Windows
Use PowerShell or the Windows Terminal:
ssh-keygen -t ed25519 -C "your_email@example.com" Alternatively, use PuTTYgen if you prefer a graphical interface.
View Your Public Key
# Ed25519
cat ~/.ssh/id_ed25519.pub
# RSA
cat ~/.ssh/id_rsa.pub The output will look something like:
Adding SSH Keys to Your Account
Add your public key to Edge Network so it can be installed on your VMs.
- Navigate to Resources → SSH Keys in the control panel
- Click Add SSH Key
- Paste your public key (the entire line starting with
ssh-) - Give it a descriptive name (e.g., "MacBook Pro" or "Work Laptop")
- Click Add Key
Screenshot: Add SSH Key modal
Tip: Add multiple keys for different devices. This makes it easy to revoke access from a lost or stolen device without affecting others.
Using SSH Keys with VMs
When Creating a VM
During VM creation, you'll be prompted to select one or more SSH keys. These keys will be installed in the root user's ~/.ssh/authorized_keys file.
Screenshot: SSH key selection during VM creation
Connecting to Your VM
# Connect as root
ssh root@YOUR_VM_IP
# If your key is in a non-default location
ssh -i ~/.ssh/my_custom_key root@YOUR_VM_IP Adding Keys to an Existing VM
Currently, SSH keys are only installed during VM creation. To add keys to an existing VM, manually add them to the authorized_keys file:
# SSH into your VM first, then:
echo "your-public-key-here" >> ~/.ssh/authorized_keys Managing Your Keys
Viewing Keys
Your SSH keys are listed at Resources → SSH Keys. Each key shows:
- Name you assigned
- Key fingerprint (for verification)
- Date added
Deleting Keys
To delete a key from your account:
- Go to Resources → SSH Keys
- Click the trash icon next to the key
- Confirm deletion
Important: Deleting a key from your Edge account does NOT remove it from existing VMs. The key will still work on VMs where it was already installed.
Best Practices
Use Ed25519 Keys
Ed25519 keys are shorter, faster, and more secure than RSA.
Use a Passphrase
Protect your private key with a passphrase. Use ssh-agent to avoid typing it repeatedly.
One Key Per Device
Generate unique keys for each device. This way you can revoke access per device.
Never Share Private Keys
Your private key should never leave your device. Only share the public key.
Troubleshooting
"Permission denied (publickey)"
- • Ensure you selected the correct SSH key when creating the VM
- • Check that your private key file has correct permissions:
chmod 600 ~/.ssh/id_ed25519 - • Verify you're using the right key:
ssh -v root@IPto see verbose output
"Key already exists"
Each public key can only be added once. If you see this error, check your existing keys—it may already be there under a different name.
"Invalid key format"
Make sure you're pasting the public key (ending in .pub), not the private key. The key should start with ssh-ed25519 or ssh-rsa.