{
  "slug": "ssh-public-key-from-private",
  "name": "gizza-ai/ssh-public-key-from-private",
  "version": "0.1.0",
  "title": "Get SSH Public Key from a Private Key — gizza.ai",
  "description": "Derive the OpenSSH public key (id_*.pub line) from an RSA, ECDSA (P-256/P-384) or Ed25519 private key. Runs in your browser, nothing uploaded, free.",
  "tags": [
    "ssh public key from private",
    "ssh-keygen -y",
    "id_rsa.pub",
    "openssh public key",
    "ssh-ed25519",
    "ecdsa-sha2-nistp256",
    "ssh-rsa",
    "authorized_keys"
  ],
  "category": "security",
  "urls": {
    "page": "https://gizza.ai/tools/ssh-public-key-from-private/",
    "markdown": "https://gizza.ai/tools/ssh-public-key-from-private/index.md",
    "descriptor": "https://gizza.ai/tools/ssh-public-key-from-private/tool.json",
    "deep_link_example": "https://gizza.ai/tools/ssh-public-key-from-private/?input=-----BEGIN%20PRIVATE%20KEY-----...&key_type=auto&der_format=hex&comment=user%40host"
  },
  "cli": "gizza tool ssh-public-key-from-private \"-----BEGIN PRIVATE KEY-----...\"",
  "tool": {
    "description": "Derive the OpenSSH PUBLIC key (the single-line id_*.pub / authorized_keys format, e.g. 'ssh-rsa AAAA... user@host') from a PRIVATE key. The offline equivalent of 'ssh-keygen -y'. Supports RSA, EC (NIST P-256/P-384) and Ed25519 private keys as PEM or raw DER (hex/base64); optional trailing comment.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "comment": {
          "type": "string"
        },
        "der_format": {
          "default": "hex",
          "enum": [
            "hex",
            "base64"
          ],
          "type": "string"
        },
        "input": {
          "type": "string"
        },
        "key_type": {
          "default": "auto",
          "enum": [
            "auto",
            "rsa",
            "ec",
            "ed25519"
          ],
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}