第一步:在 Ubuntu 上安装 acme.sh
-
登录到你的 Ubuntu/Debian 服务器。
-
执行安装命令(只需安装一次):
Bash
curl https://get.acme.sh | sh -
使配置立即生效,或者直接重新登录 SSH 会话:
Bash
source ~/.bashrc -
注册 ACME 账户邮箱(必填,用于接收过期提醒)。把下面的邮箱换成你自己的:
Bash
~/.acme.sh/acme.sh --register-account -m [email protected] -
更改默认的 CA(证书颁发机构)为 Let's Encrypt(这一步很关键,避免再次用到默认的 ZeroSSL):
Bash
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
第二步:配置 DNS API 凭据
为了通过 DNS 验证自动化管理 SSL 证书(例如使用 acme.sh 或 Certbot),你需要获取 Cloudflare 的 API 令牌(Token)并将其配置到服务器环境中。
处于安全考虑,强烈推荐创建受限的 API 令牌(API Token),而不是使用权限过大的全局 API 密钥(Global API Key)。
1. 获取 Cloudflare 凭据
2. 在服务器配置环境变量
获取到这两个核心凭据后,需要将它们声明为服务器的环境变量,以便自动化工具读取。连接到你的 Linux 终端,执行以下命令:
Bash
# 替换为你的实际 API Token
export CF_Token="xxxx_xxxxxxxxxxxxxxxxxxxxxxxxx"
# 替换为你的实际账户 ID
export CF_Account_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
3. 执行 DNS 验证验证 (以 acme.sh 为例)
凭据配置完成后,你的自动化工具就可以通过调用 Cloudflare 的 API 自动添加和删除 TXT 记录了。如果你使用的是主流的 acme.sh,直接运行签发命令即可(此方式完美支持泛域名证书):
Bash
acme.sh --issue --dns dns_cf -d “*.yourdomain.com” (删除冒号)
1. 导出证书文件
在你的 Ubuntu 终端里,直接执行以下命令:
Bash
# 创建一个专门存放待导出证书的文件夹(这里以用户主目录下的 syno_certs 为例)
mkdir -p ~/syno_certs
# 将证书和私钥提取到刚才创建的目录中(复制下面的所有命令,不要分段)
~/.acme.sh/acme.sh --install-cert -d h.itony.cc \
--key-file ~/syno_certs/h.itony.cc.key \
--fullchain-file ~/syno_certs/fullchain.cer
执行完毕后,你的 ~/syno_certs 文件夹下就会有两个文件:
-
h.itony.cc.key(这是私钥) -
fullchain.cer(这是包含完整证书链的公钥) - 下载私钥和公钥,从root文件夹下 复制到home文件下下。
- 2. 下载文件到你的本地电脑,cp -r /root/syno_certs /home/ubuntu/


Comments | NOTHING