← Back to all services
Ssl Certs

acme.sh SSL Certificate Configuration

acme.sh systemctl: cron job (installed automatically)

Pure shell ACME client. Supports Let's Encrypt, ZeroSSL, and other CAs.

🔌 Default Port

80
tcp
HTTP-01 (or use DNS-01)

⚙️ Configuration Files

  • ~/.acme.sh/account.conf
  • ~/.acme.sh/domain.com/domain.conf

📂 Default Directories

  • config: ~/.acme.sh
  • data: ~/.acme.sh
  • logs: ~/.acme.sh/acme.sh.log
  • certs: ~/.acme.sh/domain.com/

🔐 Default Credentials

Username:N/A
Password:N/A
💡 Runs as installing user. Deploy hooks handle permissions.

📌 Dependencies

curl or wgetopenssl

⚠️ Conflicts

N/A Port: Port 80 for HTTP-01

✅ Works With

All web servers60+ DNS providers for DNS-01

🛡️ Security Notes

Use DNS-01 for internal servers, protect account keys, use --install-cert for proper deployment

❓ Frequently Asked Questions

acme.sh vs Certbot?
acme.sh is pure shell with no dependencies. Certbot is Python-based with more features.
How to install acme.sh?
Run: curl https://get.acme.sh | sh
How to issue certificate?
Run: acme.sh --issue -d domain.com -w /var/www/html