将 Let’s Encrypt 证书迁移到新系统

将 Linode VPS 上的操作系统从 CentOS 7 改成了 openSUSE Leap 15详情以后再说)。其中一项迁移任务就是把 Let’s Encrypt 证书迁移到新系统。只要搞清楚了文件位置和需要使用的指令,迁移 Let’s Encrypt 证书其实是一件很容易的事情。这里记录一下步骤和 Linux 命令。

总的来说,主要包括以下几步,

  1. 先更新一下证书: certbot renew
  2. 使用 certbot certificates 查看旧服务器上现有的证书、文件目录以及软链接。下面是一个例子,注意看后面的数字,如 cert24.pem。对同一个域名的四个文件来说数字都是一样的,代表着已经是续到第 24 个了。
    # ls -1 /etc/letsencrypt/live/cnzhx.net/
    lrwxrwxrwx 1 root root 34 Apr 19 22:07 cert.pem -> ../../archive/cnzhx.net/cert24.pem
    lrwxrwxrwx 1 root root 35 Apr 19 22:07 chain.pem -> ../../archive/cnzhx.net/chain24.pem
    lrwxrwxrwx 1 root root 39 Apr 19 22:07 fullchain.pem -> ../../archive/cnzhx.net/fullchain24.pem
    lrwxrwxrwx 1 root root 37 Apr 19 22:07 privkey.pem -> ../../archive/cnzhx.net/privkey24.pem
  3. 将旧服务器上的 letsencrypt 文件夹打包转移到新服务器的适当位置。好在 CentOS 7 和 openSUSE Leap 15 都是将他们放在了 /etc/letsencrypt 目录中。
    # tar -chvzf /srv/www/letsencrypt.tar.gz /etc/letsencrypt
  4. 将压缩包转移到新服务器,
    # scp letsencrypt.tar.gz root@linode-new:/
  5. 以下在新服务器中操作)登录新服务器并解压到指定位置,
    # cd /
    # tar -xvf /srv/www/letsencrypt.tar.gz
  6. 重建软链接,
    # cd /etc/letsencrypt
    cd live/cnzhx.net
    # for i in cert chain fullchain privkey ;
    do
    rm ${i}.pem
    ln -s ../../archive/cnzhx.net/${i}24.pem ${i}.pem
    done

最后一切就绪了,比如域名解析到当前服务器了,服务器已经可以正常访问了,等等,就可以测试一下如果要续新的证书有没有问题,certbot renew --dry-run--dry-run选项表示只运行但是结果不保存。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/move-lets-encrypt-certs-to-new-system/>。转载请保留此信息及相应链接。

2 条关于 “将 Let’s Encrypt 证书迁移到新系统” 的评论

  1. 引用通告: 升级 openSUSE Leap 15.2 到 Leap 15.3 | 水景一页

  2. 引用通告: 在 Linode VPS 上将服务器系统由 CentOS 7 改为 openSUSE Leap 15 | 水景一页

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)