bg-tutorials

Cómo generar un CSR en Proxmox

Esta guía muestra cómo generar una CSR (Certificate Signing Request) en Proxmox VE. Dado que Proxmox Virtual Environment está basado en Debian, la CSR se crea desde la línea de comandos por SSH usando la utilidad OpenSSL, que viene preinstalada en cada nodo. El proceso es el mismo en Proxmox VE 8.x y en la serie más reciente 9.x.

Una CSR es la solicitud codificada que se envía a una Autoridad de Certificación (CA) al pedir un certificado SSL/TLS. Al generarla también se crea una clave privada correspondiente. La clave permanece en el nodo de Proxmox y nunca se envía a la CA, por lo que debe mantenerse a salvo: un certificado solo funciona con la clave exacta con la que fue emparejado.

CSR manual vs. el cliente ACME integrado

Proxmox VE incluye un cliente ACME integrado (cuentas en Datacenter > ACME, con dominios añadidos por nodo en Node > Certificates) que puede solicitar y renovar automáticamente certificados gratuitos de Let’s Encrypt. Si solo necesita proteger la interfaz web de Proxmox y un nombre de host accesible públicamente, esa vía automatizada es la opción más sencilla y se renueva por sí sola.

Sigue siendo necesario generar una CSR manualmente cuando se compra un certificado a una CA comercial, cuando se necesita un tipo que ACME no emite (por ejemplo, un certificado de Validación de Organización, Validación Extendida o comodín), o cuando una política interna exige controlar usted mismo la clave y la solicitud. El resto de este tutorial cubre ese proceso manual.

Paso 1: Crear la CSR y la clave privada

Conéctese a su nodo de Proxmox por SSH (o abra la consola Shell en la interfaz web de Proxmox). OpenSSL ya está instalado. Si por alguna razón falta, instálelo primero:

sudo apt-get update && sudo apt-get install openssl

En el símbolo del sistema, ejecute el siguiente comando para generar la CSR y su clave privada en un solo paso:

openssl req -new -newkey rsa:2048 -nodes -keyout mywebsite.key -out mywebsite.csr -addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"

Sustituya mywebsite por un nombre que identifique su dominio para que los archivos sean fáciles de reconocer más adelante. Esto es lo que hace cada parte del comando:

  • req -new crea una nueva solicitud de certificado.
  • -newkey rsa:2048 genera una nueva clave privada RSA de 2048 bits. RSA 2048 es el mínimo actual para certificados públicos; puede usar rsa:4096 para una clave más grande, o cambiar a una clave moderna de curva elíptica (vea las preguntas frecuentes más abajo).
  • -nodes deja la clave privada sin cifrar para que el servicio de Proxmox pueda leerla al iniciar sin pedir una frase de contraseña.
  • -keyout mywebsite.key escribe la clave privada. Mantenga este archivo en el nodo y nunca lo comparta.
  • -out mywebsite.csr escribe la CSR que enviará a la CA.

El OpenSSL moderno firma la solicitud con SHA-256 de forma predeterminada, que es lo que exige toda CA pública. No es necesario añadir un indicador de resumen más antiguo.

Paso 2: Proporcionar la información requerida sobre su dominio y empresa

A continuación, OpenSSL le pide los datos que componen el Nombre Distinguido del certificado. Responda cada uno:

  • Country Name: el código oficial de dos letras de su país, por ejemplo US.
  • State or Province: el nombre completo del estado o provincia donde está registrada su empresa, por ejemplo Alabama.
  • City or Locality: el nombre completo de la ciudad donde se encuentra su empresa, por ejemplo Mobile.
  • Organization Name: el nombre legal completo de su empresa, por ejemplo Your Company LLC. Para un certificado de Validación de Dominio (DV), puede dejar esto en blanco.
  • Organizational Unit Name: déjelo en blanco. Está obsoleto para certificados SSL/TLS públicos y las CA lo eliminan.
  • Common Name: el nombre de dominio completamente cualificado (FQDN) que desea proteger, por ejemplo proxmox.yoursite.com. Para un certificado comodín (Wildcard), coloque un asterisco delante del dominio, por ejemplo *.yoursite.com.
  • Email Address: una dirección de correo electrónico válida (opcional para la mayoría de las CA).
  • A challenge password: déjelo en blanco. Es un campo heredado que las CA públicas ignoran.
  • An optional company name: déjelo en blanco.

OpenSSL ahora escribe la CSR y la clave privada en el directorio desde el que ejecutó el comando. Liste los archivos para confirmar que se crearon:

ls

Debería ver mywebsite.key y mywebsite.csr (o el nombre que haya elegido).

Paso 3: Verificar la CSR antes de enviarla

Antes de enviar la solicitud a una CA, compruebe que los datos son correctos y que la firma es válida. Un error tipográfico en el Common Name significa una reemisión, así que esta comprobación de 10 segundos vale la pena:

openssl req -noout -text -verify -in mywebsite.csr

Confirme que la línea Subject muestra el Common Name y los datos de la organización correctos, que la clave pública tiene el tamaño esperado, y que OpenSSL reporta la autofirma como verificada. Si prefiere revisar la solicitud en un navegador, péguela en nuestro decodificador de CSR, que muestra los mismos campos decodificados en línea.

Paso 4: Enviar la CSR a su Autoridad de Certificación

Abra el archivo CSR en cualquier editor de texto:

cat mywebsite.csr

Durante el proceso de pedido del SSL, copie todo el contenido del archivo, incluidas las líneas —–BEGIN CERTIFICATE REQUEST—– y —–END CERTIFICATE REQUEST—–, y péguelo en el cuadro de CSR del sitio web de su proveedor de SSL. Si omite cualquiera de las líneas marcadoras, o cualquiera de los cinco guiones de cada lado, la CA rechazará la solicitud.

Después de que la CA valide la CSR y emita su certificado, siga nuestras instrucciones de instalación de SSL en Proxmox para instalarlo en el nodo. Emparejará el certificado emitido con el archivo mywebsite.key que permaneció en el servidor.

Preguntas frecuentes

¿Dónde se guarda la clave privada en Proxmox?

La clave privada se escribe en el directorio desde el que ejecutó el comando OpenSSL, bajo el nombre de archivo que pasó a -keyout (por ejemplo mywebsite.key). Nunca sale del nodo y nunca se envía a la CA. Manténgala segura y haga una copia de seguridad, porque el certificado emitido solo funciona con esta clave exacta.

¿Puedo crear una CSR ECDSA en lugar de RSA en Proxmox?

Sí. Las claves de curva elíptica (ECDSA) son más pequeñas y rápidas que RSA al mismo nivel de seguridad, y todas las CA principales las admiten. Genere la clave y la CSR en un solo comando:
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout mywebsite.key -out mywebsite.csr -addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
La curva prime256v1 (también llamada P-256) es una opción predeterminada segura. El resto del proceso, incluidas las preguntas del Paso 2, es idéntico.

¿Tengo que generar una CSR si Proxmox tiene un cliente ACME integrado?

No. Para un certificado gratuito de Let’s Encrypt en un nombre de host accesible públicamente, el cliente ACME integrado en Datacenter > ACME gestiona la solicitud y la renueva automáticamente, sin necesidad de una CSR manual. Genere una CSR manualmente cuando compre a una CA comercial, o cuando necesite un certificado OV, EV o comodín que la configuración predeterminada de ACME no emite.

¿Cómo leo el contenido de mi CSR?

Ejecute openssl req -noout -text -in mywebsite.csr para imprimir los campos decodificados (Subject, tamaño de la clave y cualquier Subject Alternative Name) directamente en el nodo. Añada el indicador -verify para confirmar también que la autofirma es válida antes de enviar la solicitud.

Ahorre un 10% en certificados SSL al realizar su pedido hoy mismo.

Emisión rápida, cifrado potente, 99,99% de confianza del navegador, asistencia dedicada y garantía de devolución del dinero en 25 días. Código del cupón: SAVE10

Una imagen detallada de un dragón en vuelo
Escrito por

Redactor de contenidos experimentado especializado en Certificados SSL. Transformar temas complejos de ciberseguridad en contenido claro y atractivo. Contribuir a mejorar la seguridad digital a través de narrativas impactantes.