- 安装certbot
apt install certbot
经过尝试,这样安装容易安装到老版本(1.x)的certbot,建议使用官方建议的snap进行安装。
snap地址:https://snapcraft.io/docs/installing-snapd
安装snap:
centos:sudo yum install epel-release
然后sudo yum install snapd
,接下来sudo systemctl enable --now snapd.socket
,创建软连接sudo ln -s /var/lib/snapd/snap /snap
;
Debian:sudo apt update
然后sudo apt install snapd
,安装最新版sudo snap install core
,如果找不到snap:sudo ln -s /var/lib/snapd/snap /snap
使用SNAP安装certbot:
安装certbot:sudo snap install --classic certbot
创建软连接:sudo ln -s /snap/bin/certbot /usr/bin/certbot
如果遇到提示snapd 无法启动(
error: cannot communicate with server: Post "http://localhost/v2/snaps/certbot": read unix @->/run/snapd.socket: read: connection reset by peer
),并且不知道原因,可以尝试使用下边的命令(我也是找了好久才找到,而且真的是一次就成功!感谢原po)
//更新包
dnf upgrade libmodulemd
yum update libseccomp
// 启动snapd
systemctl start snapd
安装cerbot-aliyun-dns插件(还有多种可选)
地址:https://github.com/tengattack/certbot-dns-aliyun
sudo snap install certbot-dns-aliyun
sudo snap set certbot trust-plugin-with-root=ok
sudo snap connect certbot:plugin certbot-dns-aliyun
/snap/bin/certbot plugins
-
创建阿里云的子账号并仅授权域名管理权限
阿里云控制台搜索访问控制,新建用户
添加权限时候选择管理云解析权限
保存key和secret
编辑文件vim /etc/letseccrypt/dns-aliyun/credentials.ini
复制粘贴以下内容,把key和secret改成自己的
dns_aliyun_access_key = aliyun_key
dns_aliyun_access_key_secret = aliyun_secret
按下ESC,:wq
保存退出
- 申请证书
certbot certonly -d "xxx.example.com" --authenticator=dns-aliyun --dns-aliyun-credentials='/etc/letsencrypt/dns-aliyun/credentials.ini'
输入邮箱,同意协议,第二个接收广告信息的邮件询问可以拒绝