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

# SSH certificate authorities

> Manage SSH certificate authorities used to sign instance SSH host keys.

export const resource_0 = "SSH certificate authority"

SSH certificate authorities (CAs) let you sign the host keys used by your compute instances so clients can trust them without manually pinning fingerprints. Once a CA is created, you can bind it to an instance via [`nscale instances create --ssh-ca-id`](/docs/cli/instances#create).

**Aliases:** `ssh-cas`, `sshca`

Commands that act on one {resource_0} take its ID either as a positional argument or with `--id`. If you omit it, the CLI opens an interactive picker, so always pass it in scripts.

## Subcommands

* [list](#list) — List SSH certificate authorities
* [get](#get) — Get SSH certificate authority details
* [create](#create) — Create a new SSH certificate authority
* [delete](#delete) — Delete an SSH certificate authority

***

## list

List SSH certificate authorities, optionally filtered by organization or project.

```bash theme={null}
nscale ssh-cas list [flags]
```

### Flags

<table>
  <thead><tr><th>Flag</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>{"--org string"}</code></td><td>Organization ID</td></tr>
    <tr><td><code>{"--project string"}</code></td><td>Project ID</td></tr>

    <tr>
      <td>
        <code>
          {"--json"}
        </code>
      </td>

      <td>Emit the full JSON payload (mutually exclusive with <code>-q</code>)</td>
    </tr>

    <tr>
      <td>
        <code>
          {"-q, --query stringArray"}
        </code>
      </td>

      <td>jq filter for value extraction (see <a href="/docs/cli/query-output">Query output with <code>-q</code></a>)</td>
    </tr>
  </tbody>
</table>

### Example

```bash theme={null}
nscale ssh-cas list --org <org-id>
```

***

## get

Get details for a specific SSH certificate authority.

```bash theme={null}
nscale ssh-cas get <ssh-ca-id> --org <org-id>
```

### Flags

<table>
  <thead><tr><th>Flag</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>{"--id string"}</code></td><td>SSH certificate authority ID</td></tr>
    <tr><td><code>{"--org string"}</code></td><td>Organization ID</td></tr>

    <tr>
      <td>
        <code>
          {"--json"}
        </code>
      </td>

      <td>Emit the full JSON payload (mutually exclusive with <code>-q</code>)</td>
    </tr>

    <tr>
      <td>
        <code>
          {"-q, --query stringArray"}
        </code>
      </td>

      <td>jq filter for value extraction (see <a href="/docs/cli/query-output">Query output with <code>-q</code></a>)</td>
    </tr>
  </tbody>
</table>

***

## create

Create a new SSH certificate authority. Accepts input from a JSON file or stdin; with neither, the CLI prompts for the name, project, and public key.

```bash theme={null}
nscale ssh-cas create [flags]
```

### Flags

<table>
  <thead><tr><th>Flag</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>{"--org string"}</code></td><td>Organization ID</td></tr>
    <tr><td><code>{"-f, --file string"}</code></td><td>Path to a JSON file</td></tr>
    <tr><td><code>{"--stdin"}</code></td><td>Read JSON from standard input</td></tr>
    <tr><td><code>{"--dry-run"}</code></td><td>Preview actions and payload without persisting</td></tr>
    <tr><td><code>{"-y, --yes"}</code></td><td>Automatically confirm creation</td></tr>

    <tr>
      <td>
        <code>
          {"--json"}
        </code>
      </td>

      <td>Emit the full JSON payload (mutually exclusive with <code>-q</code>)</td>
    </tr>

    <tr>
      <td>
        <code>
          {"-q, --query stringArray"}
        </code>
      </td>

      <td>jq filter for value extraction (see <a href="/docs/cli/query-output">Query output with <code>-q</code></a>)</td>
    </tr>
  </tbody>
</table>

### Examples

```bash theme={null}
nscale ssh-cas create --file sshca.json
nscale ssh-cas create --stdin < sshca.json
cat sshca.json | nscale ssh-cas create --stdin
```

***

## delete

Delete an existing SSH certificate authority.

```bash theme={null}
nscale ssh-cas delete <ssh-ca-id> --org <org-id> [flags]
```

### Flags

| Flag | Description |
| - | - |
| `--id string` | SSH certificate authority ID |
| `--org string` | Organization ID |
| `--dry-run` | Preview actions and payload without persisting |
| `-y, --yes` | Automatically confirm deletion |

***

## Related

<CardGroup cols={2}>
  <Card title="Instances" icon="server" href="/docs/cli/instances">
    Bind a certificate authority when creating an instance with <code>{"--ssh-ca-id"}</code>.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.