Este guia mostra como gerar um CSR (Certificate Signing Request) no Proxmox VE. Como o Proxmox Virtual Environment é baseado em Debian, você cria o CSR pela linha de comando via SSH usando o utilitário OpenSSL, que já vem pré-instalado em todos os nós. O processo é o mesmo no Proxmox VE 8.x e na série mais recente 9.x.
Um CSR é a solicitação codificada que você envia a uma Autoridade Certificadora (CA) ao pedir um certificado SSL/TLS. Gerá-lo também cria uma chave privada correspondente. A chave permanece no nó Proxmox e nunca é enviada à CA, portanto mantenha-a segura: um certificado só funciona com a chave exata com a qual foi pareado.
CSR manual vs. o cliente ACME integrado
O Proxmox VE inclui um cliente ACME integrado (contas em Datacenter > ACME, com domínios adicionados por nó em Node > Certificates) que pode solicitar e renovar automaticamente certificados gratuitos da Let’s Encrypt. Se você só precisa proteger a interface web do Proxmox e um nome de host publicamente acessível, essa rota automatizada é a opção mais simples e se renova sozinha.
Ainda é preciso gerar um CSR manualmente ao comprar um certificado de uma CA comercial, quando você precisa de um tipo que o ACME não emite (por exemplo, um certificado de Validação de Organização, Validação Estendida ou wildcard), ou quando uma política interna exige que você controle a chave e a solicitação por conta própria. O restante deste tutorial aborda esse fluxo manual.
Passo 1: Criar o CSR e a chave privada
Conecte-se ao seu nó Proxmox via SSH (ou abra o console Shell na interface web do Proxmox). O OpenSSL já está instalado. Se, por algum motivo, ele estiver ausente, instale-o primeiro:
sudo apt-get update && sudo apt-get install openssl
No prompt, execute o seguinte comando para gerar o CSR e sua chave privada em uma única etapa:
openssl req -new -newkey rsa:2048 -nodes -keyout mywebsite.key -out mywebsite.csr -addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Substitua mywebsite por um nome que identifique seu domínio, para que os arquivos fiquem fáceis de reconhecer depois. Veja o que cada parte do comando faz:
- req -new cria uma nova solicitação de certificado.
- -newkey rsa:2048 gera uma nova chave privada RSA de 2048 bits. RSA 2048 é o mínimo atual para certificados públicos; você pode usar rsa:4096 para uma chave maior, ou mudar para uma chave moderna de curva elíptica (veja o FAQ abaixo).
- -nodes deixa a chave privada não criptografada para que o serviço Proxmox possa lê-la na inicialização sem solicitar uma frase-senha.
- -keyout mywebsite.key grava a chave privada. Mantenha este arquivo no nó e nunca o compartilhe.
- -out mywebsite.csr grava o CSR que você enviará à CA.
O OpenSSL moderno assina a solicitação com SHA-256 por padrão, que é o que toda CA pública exige. Não é necessário adicionar um sinalizador de digest mais antigo.
Passo 2: Fornecer as informações necessárias sobre seu domínio e empresa
O OpenSSL então solicita os detalhes que compõem o Nome Distinto (Distinguished Name) do certificado. Responda a cada um:
- Country Name: o código oficial de duas letras do seu país, por exemplo US.
- State or Province: o nome completo do estado ou província onde sua empresa está registrada, por exemplo Alabama.
- City or Locality: o nome completo da cidade onde sua empresa está localizada, por exemplo Mobile.
- Organization Name: o nome legal completo da sua empresa, por exemplo Your Company LLC. Para um certificado de Validação de Domínio (DV), você pode deixar em branco.
- Organizational Unit Name: deixe em branco. Está descontinuado para certificados SSL/TLS públicos e as CAs o removem.
- Common Name: o nome de domínio totalmente qualificado (FQDN) que você deseja proteger, por exemplo proxmox.yoursite.com. Para um certificado Wildcard, coloque um asterisco na frente do domínio, por exemplo *.yoursite.com.
- Email Address: um endereço de e-mail válido (opcional para a maioria das CAs).
- A challenge password: deixe em branco. É um campo legado que as CAs públicas ignoram.
- An optional company name: deixe em branco.
O OpenSSL agora grava o CSR e a chave privada no diretório de onde você executou o comando. Liste os arquivos para confirmar que foram criados:
ls
Você deve ver mywebsite.key e mywebsite.csr (ou o nome que você escolheu).
Passo 3: Verificar o CSR antes de enviá-lo
Antes de enviar a solicitação a uma CA, verifique se os detalhes estão corretos e se a assinatura é válida. Um erro de digitação no Common Name significa uma reemissão, então essa verificação de 10 segundos vale a pena:
openssl req -noout -text -verify -in mywebsite.csr
Confirme que a linha Subject mostra o Common Name e os detalhes da organização corretos, que a chave pública tem o tamanho esperado, e que o OpenSSL informa que a autoassinatura foi verificada. Se preferir revisar a solicitação em um navegador, cole-a em nosso decodificador de CSR, que mostra os mesmos campos decodificados online.
Passo 4: Enviar o CSR para sua Autoridade Certificadora
Abra o arquivo CSR em qualquer editor de texto:
cat mywebsite.csr
Durante o processo de pedido do SSL, copie todo o conteúdo do arquivo, incluindo as linhas —–BEGIN CERTIFICATE REQUEST—– e —–END CERTIFICATE REQUEST—–, e cole-o no campo CSR no site do seu fornecedor de SSL. Se omitir qualquer uma das linhas marcadoras, ou qualquer um dos cinco hifens de cada lado, a CA rejeitará a solicitação.
Depois que a CA validar o CSR e emitir seu certificado, siga nossas instruções de instalação de SSL no Proxmox para instalá-lo no nó. Você combinará o certificado emitido com o arquivo mywebsite.key que permaneceu no servidor.
Perguntas Frequentes
A chave privada é gravada no diretório de onde você executou o comando OpenSSL, sob o nome de arquivo que você passou para -keyout (por exemplo mywebsite.key). Ela nunca sai do nó e nunca é enviada à CA. Mantenha-a segura e faça backup dela, pois o certificado emitido só funciona com essa chave exata.
Sim. As chaves de curva elíptica (ECDSA) são menores e mais rápidas que as RSA no mesmo nível de segurança e são suportadas por todas as principais CAs. Gere a chave e o CSR em um único 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"
A curva prime256v1 (também chamada de P-256) é um padrão seguro. O restante do processo, incluindo as solicitações no Passo 2, é idêntico.
Não. Para um certificado gratuito da Let’s Encrypt em um nome de host publicamente acessível, o cliente ACME integrado em Datacenter > ACME cuida da solicitação e a renova automaticamente, sem CSR manual. Gere um CSR manualmente ao comprar de uma CA comercial, ou quando precisar de um certificado OV, EV ou wildcard que a configuração padrão do ACME não emite.
Execute openssl req -noout -text -in mywebsite.csr para imprimir os campos decodificados (Subject, tamanho da chave e quaisquer Nomes Alternativos do Assunto) diretamente no nó. Adicione o sinalizador -verify para também confirmar que a autoassinatura é válida antes de enviar a solicitação.
Economize 10% em certificados SSL ao fazer seu pedido hoje!
Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10


