如果您的网站托管在 cPanel 服务器上,那么使用可信 SSL 证书来确保网站安全就非常简单,这要归功于ACME 协议。由于支持商业证书颁发机构和自动部署,您可以使用 ACME.sh 快速设置 HTTPS,而无需依赖 AutoSSL 或手动上传。

在本教程中,你将学习如何使用ACME.sh客户端 在 cPanel 上安装 ACME SSL 证书。我们将介绍整个设置过程,包括如何使用 EAB 凭据在证书颁发机构注册、通过 webroot 验证颁发证书,以及使用 cPanel 的本地 API 将证书自动应用到域。
只要启用 SSH 访问,即使在共享主机上也能使用此方法。
所需物品
在开始之前,请确保
- 您可以通过 SSH 访问您的 cPanel 账户(通过内置终端或 PuTTY 等外部客户端)。
- 您的主机提供商允许自定义 shell 脚本(大多数提供商在 2025 年之前都允许自定义 shell 脚本)。
- 您的 SSL 证书提供商提供了以下信息:
- ACME 目录 URL(如 https://acme.yourdomain.com/v2/DV)
- EAB 关键标识符(EAB KID)
- EAB HMAC 密钥
- 您的域名指向正确的虚拟主机账户(DNS 应已配置)。
步骤 1 – 打开 cPanel 终端
您可以使用 cPanel 的内置终端或外部 SSH。内置终端在执行快速任务时速度更快,而外部 SSH 则更适合高级工作、自定义脚本,或需要更稳定的会话进行长时间操作时使用。
选项 A:使用 cPanel 的内置终端
- 登录 cPanel 控制面板。
- 滚动到 “高级“部分,点击 “终端“。
- 如果是第一次使用,请接受提示。
选项 B:使用外部 SSH
您也可以使用 PuTTY 或终端(macOS/Linux)等外部 SSH 客户端进行连接。请向托管服务提供商咨询:
- SSH 主机名或 IP
- 端口号(有些供应商将端口号从 22 改为 22)
- 登录凭证
第 2 步 – 安装 ACME.sh
进入终端后,运行以下命令安装 ACME.sh 客户端:
curl https://get.acme.sh | sh
安装完成后,重启终端会话或运行:
source ~/.bashrc
然后确认它是否正常工作:
acme.sh --version
您应该能看到当前的版本号和版权。
步骤 3 – 注册 ACME 账户
现在使用 EAB 凭据在 SSL 提供商的 ACME 服务器上注册:
acme.sh --register-account \
--server "https://your.acme-server.com/v2/DV" \
--eab-kid "YOUR_EAB_KID" \
--eab-hmac-key "YOUR_EAB_HMAC_KEY"
密钥标识符 (KID) 通常是一个较短的字符串;HMAC 密钥则是一个较长的字符串。请完全按照提供的格式粘贴,不要有多余的空格。
确保 EAB 值中没有空格或多余的引号。这些值通常区分大小写,并受 CA 的时间限制。
如果运行 acme.sh 时出现 “未找到命令 “错误,请尝试运行完整路径:
~/.acme.sh/acme.sh
您可以在安装后向上滚动,找到准确的安装位置。查找类似以下的信息
安装到/home/yourusername/.acme.sh/acme.sh。
第 4 步 – 签发证书(Webroot 验证)
现在,让我们使用域名的 webroot 路径签发 SSL 证书。这样,ACME 服务器就可以将验证文件放在服务器可以公开访问的文件夹中,从而验证域名控制权。
运行此命令(相应替换数值):
acme.sh --issue \
--webroot /home/yourcpuser/public_html \
--domain yourdomain.com \
--domain www.yourdomain.com \
--server "https://your.acme-server.com/v2/DV" \
--eab-kid "YOUR_EAB_KID" \
--eab-hmac-key "YOUR_EAB_HMAC_KEY"
您可以在 cPanel 的主控制面板 “常规信息“> 文档根目录或 “主目录“下找到您的 webroot 路径。
完成此步骤后,证书文件将存储在~/.acme.sh/yourdomain.com/ 中。
第 5 步 – 将证书部署到 cPanel
现在,您将使用 cPanel 的 API 将证书应用到您的域名:
acme.sh --deploy \
--domain yourdomain.com \
--deploy-hook cpanel_uapi
该命令将证书安装到 cPanel 的 SSL 存储中,自动应用到域,并替换现有的旧证书
要在 cPanel 中仔细检查结果,请访问SSL/TLS > 管理 SSL 站点。找到你的域名并确认证书已列出
第 6 步 – 确认续保计划
ACME.sh 默认安装一个 cron 作业,它会在到期前 ~30 天尝试更新。
要手动测试,请运行
acme.sh --cron --force
这将模拟更新并部署更新后的证书。如果成功,你就完全准备好了。
常见问题
如果您遇到问题,或者只是想更好地了解流程,下面是一些常见问题,希望能帮助您理清思路。
不知道 webroot 路径怎么办?
在 cPanel 中,进入 “文件管理器“,导航到您的主公共网站文件夹(通常为 /public_html/),然后右键单击> “复制路径“。将其用作 –webroot 值。
能否确保子域或暂存网站的安全?
是的,只需添加多个–域标志即可:
--domain yourdomain.com --domain www.yourdomain.com --domain staging.yourdomain.com
如果以后失去 SSH 访问权限会怎样?
一旦安装了证书,并用 cron 设置了 ACME.sh,更新就会自动进行。但如果你永久失去 SSH 访问权限,就需要改用手动重新安装方法。
最后的话
你现在已经学会了如何使用 ACME.sh 在 cPanel 上安装 ACME SSL 证书,该证书完全支持商业证书提供商。从注册账户到自动部署和更新证书,这种方法能为你提供可靠、经常性的 HTTPS,而不受 cPanel 内置限制的影响。

