SSH Keys | Documentation | Geodd
SSH Keys
DocsGPU APISSH Keys

SSH Keys

Manage the SSH public keys on your account. Keys you register here can be selected when launching a VM and are installed on the VM so you can log in with the matching private key.

POST
https://api.geodd.io/vm/ssh-keys
GET
https://api.geodd.io/vm/ssh-keys
DELETE
https://api.geodd.io/vm/ssh-keys/{keyId}

Authorizations

Authorization string header required

Bearer authentication header of the form Bearer <apiKey>, where <apiKey> is your Enterprise API key.

Add SSH Key

POST /vm/ssh-keys
name string required

A label to recognize the key by.

Example: my-laptop
publicKey string required

The full public key line, e.g. ssh-ed25519 AAAA... comment.

Returns the key's _id and SHA256 fingerprint so you can verify it matches your local key.

List SSH Keys

GET /vm/ssh-keys

Lists all SSH keys on your account with their id, name, fingerprint, and creation date. The public key itself is never returned.

Delete SSH Key

DELETE /vm/ssh-keys/{keyId}
keyId string path required

The id of the SSH key to delete (from List SSH Keys). You can only delete your own keys.

Responses

200
OK
Request processed successfully.
400
Bad Request
name or publicKey missing, the key is not a valid SSH public key, or keyId is not a valid id.
401
Unauthorized
Missing or invalid API key. Check the Authorization header.
404
Not Found
No SSH key with this id exists on your account.

Example Request — Add a key:

curl -X POST https://api.geodd.io/vm/ssh-keys \
  -H "Authorization: Bearer $GEODD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-laptop",
    "publicKey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINtIP/LEUuPkJWpGKRUzLUlApBWclFnMc7MErHJt4Qaw [email protected]"
  }'

Example Response:

{
  "success": true,
  "data": {
    "_id": "69b10a7763766addac6461a1",
    "name": "my-laptop",
    "fingerprint": "SHA256:S9hlCkIooPGEgqc2qRZLOygK967FyqBo++3LfsGAtC0",
    "createdAt": "2026-03-11T06:23:51.036Z"
  }
}

Example Request — List keys:

curl https://api.geodd.io/vm/ssh-keys \
  -H "Authorization: Bearer $GEODD_API_KEY"

Example Request — Delete a key:

curl -X DELETE https://api.geodd.io/vm/ssh-keys/69b10a7763766addac6461a1 \
  -H "Authorization: Bearer $GEODD_API_KEY"

Notes

  • Generate a key pair locally with ssh-keygen -t ed25519 -C "[email protected]" and paste the contents of the .pub file as publicKey.
  • Compare the returned SHA256 fingerprint with ssh-keygen -lf ~/.ssh/id_ed25519.pub to confirm the key was registered correctly.
  • Deleting a key does not affect VMs already launched with it.