> ## Documentation Index
> Fetch the complete documentation index at: https://docs.machine0.io/llms.txt
> Use this file to discover all available pages before exploring further.

# SSH Keys

> MCP tools for managing SSH keys.

## ssh\_key\_list

List your SSH keys.

**Parameters:** None

***

## ssh\_key\_get

| Parameter | Type   | Required |
| --------- | ------ | -------- |
| `name`    | string | yes      |

***

## ssh\_key\_get\_default

Get your default SSH key.

**Parameters:** None

***

## ssh\_key\_create\_public

Add an existing public key.

| Parameter   | Type    | Required | Description        |
| ----------- | ------- | -------- | ------------------ |
| `name`      | string  | yes      | Key name           |
| `fileName`  | string  | yes      | Key file name      |
| `publicKey` | string  | yes      | Public key content |
| `isDefault` | boolean | no       | Set as default     |

<Warning>
  VMs with public keys cannot use `ssh_exec`. Use `ssh_key_create_managed` instead.
</Warning>

***

## ssh\_key\_create\_managed

Generate a server-side keypair. Enables `ssh_exec` on VMs created with this key.

| Parameter   | Type    | Required | Description    |
| ----------- | ------- | -------- | -------------- |
| `name`      | string  | yes      | Key name       |
| `isDefault` | boolean | no       | Set as default |

The private key is not returned in MCP responses. Use the CLI to download it for local SSH access.

***

## ssh\_key\_update

| Parameter   | Type    | Required | Description    |
| ----------- | ------- | -------- | -------------- |
| `name`      | string  | yes      | Key name       |
| `isDefault` | boolean | no       | Set as default |

***

## ssh\_key\_destroy

| Parameter | Type | Required |
| --------- | ---- | -------- |
| `id`      | UUID | yes      |
