Edge

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:

  1. Press Enter to save to the default location (~/.ssh/id_ed25519)
  2. 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:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your_email@example.com

Adding SSH Keys to Your Account

Add your public key to Edge Network so it can be installed on your VMs.

  1. Navigate to Resources → SSH Keys in the control panel
  2. Click Add SSH Key
  3. Paste your public key (the entire line starting with ssh-)
  4. Give it a descriptive name (e.g., "MacBook Pro" or "Work Laptop")
  5. 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:

  1. Go to Resources → SSH Keys
  2. Click the trash icon next to the key
  3. 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@IP to 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.