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

# Manage SSH Keys

> Register and manage developer SSH public keys for automatic injection into new compute nodes.

Use `np ssh` commands to register public SSH keys with your organization. Registered public keys are automatically injected into newly provisioned compute nodes, allowing seamless terminal access.

## List SSH Keys (`np ssh list`)

List all SSH public keys registered in your organization.

```bash theme={null}
np ssh list
```

### Options

| Option     | Short | Description                       | Default |
| ---------- | ----- | --------------------------------- | ------- |
| `--format` | `-f`  | Output format (`table` or `json`) | `table` |

### Output Fields

* **ID**: Unique SSH key identifier.
* **Name**: Friendly label assigned to the key.
* **Type**: Key algorithm type (e.g. `ssh-ed25519`, `ssh-rsa`).
* **Created At**: Timestamp when the key was registered.

### Examples

<CodeGroup>
  ```bash Table View theme={null}
  np ssh list
  ```

  ```bash JSON Output theme={null}
  np ssh list -f json
  ```
</CodeGroup>

***

## Add SSH Key (`np ssh add`)

Register an SSH public key for automatic injection into new compute nodes.

```bash theme={null}
np ssh add --name <name> [--file <path> | --key <string>]
```

### Options

| Option   | Short | Description                                             | Required                   |
| -------- | ----- | ------------------------------------------------------- | -------------------------- |
| `--name` | `-n`  | Friendly label for the SSH key                          | Yes                        |
| `--file` | `-f`  | Path to public key file (e.g., `~/.ssh/id_ed25519.pub`) | Either `--file` or `--key` |
| `--key`  |       | Raw public key string                                   | Either `--file` or `--key` |

### Examples

<CodeGroup>
  ```bash Add from File theme={null}
  # Add public key from local file
  np ssh add --name laptop-key --file ~/.ssh/id_ed25519.pub
  ```

  ```bash Add from String theme={null}
  # Add public key from raw key string
  np ssh add --name CI-key --key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI..."
  ```
</CodeGroup>

***

## Delete SSH Key (`np ssh delete`)

Remove a registered SSH public key from your organization by key ID.

```bash theme={null}
np ssh delete <key_id>
```

### Arguments

| Argument   | Description                            |
| ---------- | -------------------------------------- |
| `<key_id>` | Unique SSH key ID to delete (Required) |

### Example

```bash theme={null}
np ssh delete key-8f92a1b
```

<Note>
  Deleting an SSH key prevents it from being injected into future compute nodes. Existing running nodes will retain keys injected at provision time.
</Note>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Manage Nodes" icon="server" href="/cli-reference/nodes">
    Learn how to list, create, boot, shutdown, reboot, inspect, and delete compute nodes.
  </Card>

  <Card title="CLI Overview" icon="sliders" href="/cli-reference/overview">
    Review CLI installation, global flags, and authentication configuration.
  </Card>
</CardGroup>
