将 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选项表示只运行但是结果不保存。©

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

雁过留声,人过留名

电子邮件地址不会被公开。 必填项已用*标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据