轻作



重拾写作的乐趣

acme.sh手动安装

2020.03.07

官方自动安装脚本是使用–install-online模式,在网络通畅的情况下是很不错的,但是国内嘛…

1. 克隆仓库(或直接下载解压)

git clone --depth=1 https://github.com/acmesh-official/acme.sh && cd acme.sh
# 国内使用Gitee镜像
git clone --depth=1 https://gitee.com/neilpang/acme.sh && cd acme.sh

2. 安装依赖

# Debian/Ubuntu
apt install curl wget openssl socat crontab -y
# ReHat/CentOS 8.x以下
yum install curl wget openssl socat crontab -y
# ReHat/CentOS 8.x以上
dnf install curl wget openssl socat crontab -y

3. 安装

# 安装
./acme.sh --install
# 注册账号
acme.sh --register-account -m my@example.com
# 删除仓库
cd ../ && rm -rf ./acme.sh

或者指定邮箱,直接注册

./acme.sh --install my@example.com
# 删除仓库
cd ../ && rm -rf ./acme.sh

4. 更换ACME服务器

acme.sh默认向zerossl申请证书,但是最近申请证书时总是超时(Timeout)
例如选择Let’s Encrypt, 需要重新向注册账号

acme.sh --server letsencrypt --register-account -m my@example.com

申请证书时, 指定服务器

acme.sh --server letsencrypt --issue -d example.com --standalone

或者设置默认CA服务器

acme.sh --set-default-ca --server letsencrypt

参考

acme.sh wiki
Supported CA

如果只有sudoers权限, 没有root权限或者不想安装到root目录下的情况下, 可以修改crontab, 使用从stdin读取密码的sudo命令, 然后在脚本上增加–force选项

37 0 * * * /bin/echo "你的用户密码" | /bin/sudo -S  "/home/m/.acme.sh"/acme.sh --force --cron --home "/home/m/.acme.sh" > /dev/null  

参考

sudo

发表评论