SSH key: how to create one and connect to your server
An SSH key is a pair of files on your computer. You paste the public part (the .pub file) into the dashboard, and the server lets you in without a password. You create it once and it works for every server. If you don’t need SSH, you can skip the key: Jupyter and ready-made apps open with a button in the dashboard.
1. Check whether you have a key
Open a terminal: Terminal on a Mac, PowerShell on Windows, any terminal on Linux. Run:
Mac and Linux
Windows (PowerShell)
What the output means:
- The list has
id_ed25519.pub: you already have a key, go to step 3. - No
id_ed25519.pub, but there isid_rsa.puborid_ecdsa.pub: that works too. In step 3, use that file name instead ofid_ed25519.pub. - Lots of files with different names (
work.pub,github.puband so on): these are keys for other services; leave them alone. You only needid_ed25519.puborid_rsa.pub, because the terminal picks those up on its own. If neither is there, create a key in step 2; your other keys won’t be affected. - “No such file” or “Cannot find path”: you have no keys yet; create one in step 2.
2. Create a key (if you don’t have one)
The same command works on Mac, Windows and Linux:
The terminal asks three questions; just press Enter each time. Keep the default file location; a passphrase is optional.
If it asks “already exists. Overwrite (y/n)?”, answer n. You already have a key and don’t need to overwrite it: go to step 3.
3. Copy the public key
Mac: this command puts the key straight on your clipboard:
Windows (PowerShell)
Linux: print the key and copy the whole line:
A correct key is a single line that starts with ssh-ed25519. The file without .pub is your private key: never paste it anywhere or send it to anyone.
4. Paste the key into the dashboard
Dashboard → Settings → Public SSH key → paste the line → Save. The key is added to servers that are already running and to every new one.
5. Connect
In My servers, copy the SSH command. It looks like this (every server has its own port):
Paste it into your terminal. On the first connection you will see Are you sure you want to continue connecting (yes/no)?: type yes and press Enter. That’s it, you are on the server. Check the GPU with nvidia-smi.
Common errors
“id_ed25519 already exists. Overwrite (y/n)?”
You already have a key. Answer n: don’t overwrite it, or the old key will stop working everywhere it is added. Just show and copy the existing one (step 3).
“Permission denied (publickey)”
The server did not recognise your key. In the dashboard (Settings), check that the key you pasted is your public key: the same line that cat ~/.ssh/id_ed25519.pub prints. If you have several keys, point to the right one explicitly: ssh -i ~/.ssh/id_ed25519 -p … root@vramfarm.com.
“Connection refused” or “Connection closed”
The server is still starting or has already stopped. Wait for the Running status in My servers and try again. If the server is running and the error lasts more than a couple of minutes, write to support in the chat.
“REMOTE HOST IDENTIFICATION HAS CHANGED”
A different server used this port before and your computer remembers it. Remove the old entry (use your own port): ssh-keygen -R "[vramfarm.com]:31001", then connect again.
“UNPROTECTED PRIVATE KEY FILE” or “bad permissions”
Other users on your computer can read the key, so SSH refuses it. On Mac and Linux: chmod 600 ~/.ssh/id_ed25519.
“ssh is not recognized as an internal or external command” (Windows)
The OpenSSH client is not installed. Open Settings → Apps → Optional features → Add a feature → OpenSSH Client, then reopen PowerShell.
The dashboard says “This does not look like a public SSH key”
You most likely copied the private key (it starts with -----BEGIN OPENSSH PRIVATE KEY-----). Never send it to anyone. You need the file ending in .pub: a line that starts with ssh-ed25519.
The terminal asks for a password
Servers have no password; you can only log in with a key. So the key did not match: see “Permission denied” above. If you set a passphrase when creating the key, the terminal may ask for it: that is the password of your key, not of the server.
Still stuck?
Write to the support chat in the bottom-right corner and attach a screenshot of your terminal (you can paste it into the chat with Ctrl+V). While we look into it, you can work through Jupyter: Open Jupyter → File → New → Terminal. It is the same terminal on the server, no key needed.