Se você precisa gerenciar certificados SSL de forma simples, automatizada e sem depender de ferramentas pesadas, o acme.sh é uma das melhores opções disponíveis hoje.
O Problema
Gerenciar certificados SSL manualmente pode ser trabalhoso:
- Renovação periódica (a cada 90 dias)
- Integração com servidores (Apache, Nginx)
- Dependência de ferramentas como certbot
- Risco de expiração e downtime
Além disso, muitas soluções exigem instalação com privilégios elevados ou dependências externas.
A Solução
O acme.sh é um cliente ACME escrito em shell script puro, leve, sem dependências e extremamente flexível.
Principais vantagens
- Não precisa de root para funcionar
- Compatível com Let’s Encrypt e outros CAs
- Suporte a múltiplos métodos de validação (HTTP, DNS)
- Renovação automática via cron
- Instalação simples e rápida
Instalação
curl https://get.acme.sh | sh |
Ou via git:
git clone https://github.com/acmesh-official/acme.sh.git cd acme.sh ./acme.sh --install |
Emitir certificado
Exemplo usando Apache:
acme.sh --issue --apache -d seu-dominio.com -d www.seu-dominio.com |
Exemplo com standalone:
acme.sh --issue -d seu-dominio.com --standalone |
Instalar certificado no servidor
Uma das melhores práticas é usar o comando abaixo para evitar cópias manuais:
acme.sh --install-cert -d seu-dominio.com \ --key-file /etc/apache2/certificados/seu-dominio.key \ --fullchain-file /etc/apache2/certificados/fullchain.cer \ --reloadcmd "systemctl restart apache2" |
Isso garante que:
- Os certificados sejam copiados automaticamente
- O Apache seja reiniciado após renovação
- Você não precise de scripts adicionais
Renovação automática
O acme.sh já cria automaticamente um cron para renovar os certificados:
crontab -l |
Para forçar uma renovação:
acme.sh --renew -d seu-dominio.com --force |
Estrutura dos certificados
Após emissão, os arquivos ficam em:
~/.acme.sh/seu-dominio.com/ |
Arquivos importantes:
- .cer → certificado
- .key → chave privada
- fullchain.cer → cadeia completa
- ca.cer → autoridade certificadora
Boas práticas
- Utilizar
--install-certem vez de copiar arquivos manualmente - Automatizar reload do servidor
- Usar DNS validation para ambientes sem porta 80
- Manter backups das chaves privadas
- Evitar rodar como root desnecessariamente
Conclusão
O acme.sh é uma alternativa extremamente eficiente ao certbot, especialmente para quem busca controle, leveza e automação real.
Se você trabalha com múltiplos domínios ou ambientes, ele se torna praticamente indispensável no seu fluxo de DevOps.