Skip to content

How to upload an SSH public key

What is an SSH public key?

SSH uses a key pair: a private key that stays on your computer and a public key that you can share. You upload the public key to your server. When you connect, your computer proves it owns the matching private key, and the server lets you in. We never see your private key. We could not log in as you even if we wanted to.

Warning

Never paste your private key anywhere. Not into the dashboard, not into a support ticket, not into chat. Only upload public keys (lines that start with ssh-ed25519 or ssh-rsa).

Generate a key on Mac or Linux

Open a terminal on your computer and run:

ssh-keygen -t ed25519 -C "oneclickclaw-my-server"

Press Enter to accept the default file location. Choose a strong passphrase, or leave it empty if you understand the security implications. Two files are created in ~/.ssh/: id_ed25519 (private, never share) and id_ed25519.pub (public, this is what you upload).

To copy the public key contents:

cat ~/.ssh/id_ed25519.pub

Generate a key on Windows

Open PowerShell (or Windows Terminal) and run the same ssh-keygen command shown above. OpenSSH ships with Windows 10 and Windows 11 by default. Files end up in %USERPROFILE%\.ssh\. To copy the public key contents:

type $env:USERPROFILE\.ssh\id_ed25519.pub

Upload it from the dashboard

1

Open the SSH Keys panel

In the dashboard, open your instance, then click SSH Keys in the sidebar. You must have already enabled SSH access on this instance, see How to enable SSH access.
2

Click Add SSH key

A small form appears with two fields: Label and Public key.
3

Fill in the form

Give the key a meaningful label (for example laptop-2026 or work-mac), paste the entire contents of your .pub file into the public key field, then click Save.

Verify it works

The dashboard shows the exact SSH connection command for your server, looking like this:

ssh occcust_1428@198.51.100.42

Copy that command into your terminal. The first time, your terminal will ask if the server fingerprint is correct. Type yes and press Enter. You should land in a shell prompt on your server. If you do not, see Server troubleshooting.