Debian

在 Debian Jessie 上升級 certbot

  • September 2, 2021

嗨,我有一台基於 Debian Jessie 的機器,執行 apache 網路伺服器以及certbot 0.10.2.

由於此消息,我收到:

自 2021 年 6 月 1 日起,您將無法再使用 ACMEv1 續訂證書。您應該升級到兼容 ACMEv2 的客戶端,否則證書頒發將失敗。

我想升級到與 ACMEv2 兼容的 certbot 版本。

到目前為止我所做的是:

echo 'deb http://archive.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/backport.list

echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/no-check

apt update

現在,據我所知,我應該能夠執行:

apt-get install python-certbot-apache -t jessie-backports

並安裝最新的反向移植版本,但由於我已經安裝了 certbot 並且我已經頒發了證書,我想升級而不是安裝。

是否可以-only-upgrade在單個軟體包上使用backportscertbot 或至少解除安裝舊版本的 certbot 而不刪除已頒發的證書?

**PS:**我看到有人想sudo apt -t jessie-backports upgrade更新整個系統,但我不知道是否可以在單個包上使用

非常感謝您提前。

感謝大家的支持。

我終於解決了這個問題,按照這裡的建議使用了不同的ACME 客戶端

儘管安裝證書的過程很簡單,但我想分享我的步驟:

首先安裝客戶端:

wget -O -  https://get.acme.sh | sh -s email=my@example.com

安裝完成後,必須關閉目前終端並重新打開才能使別名生效。

注意:安裝還會創建每日 cron 作業以檢查和更新證書(如果需要),因此,如果您在 crontab 中安排了其他 certbot 任務,請將其刪除。如果您沒有任何 cronjobs,則意味著更新任務是自動化的,因此,您有兩個選擇:

  • certbot delete以互動方式刪除舊證書的問題
  • 只需重命名/etc/letsencrypt/renewal/example.com.conf文件,如果您不想刪除它。

無論如何,只有在過程結束時才這樣做,當一切正常時。

因為我在apache 伺服器上並且我需要**2 個域(裸域和完整域),**所以我使用了 apache 模組,如下所示:

acme.sh --issue --apache -d example.com -d www.example.com

如果一切順利,這應該已經創建了證書(檢查控制台的目前路徑)。

現在是時候安裝證書了,所以我創建了一個文件夾來儲存它:

mkdir -p /etc/apache2/certificates/example.com

然後我在example.com-le-ssl.conf *(首先進行備份;-))*中添加了以下行以反映即將發生的更改,並刪除了letsencrypt創建的舊行:

SSLEngine on

SSLCertificateFile /etc/apache2/certificates/example.com/cert.pem
SSLCertificateChainFile  /etc/apache2/certificates/example.com/fullchain.pem
SSLCertificateKeyFile /etc/apache2/certificates/example.com/privkey.pem

SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder     on
SSLCompression          off

SSLOptions +StrictRequire

最後我發出了安裝證書並重新載入 apache 伺服器的命令

acme.sh --install-cert -d example.com \
--cert-file /etc/apache2/certificates/example.com/cert.pem \
--key-file /etc/apache2/certificates/example.com/privkey.pem \
--fullchain-file /etc/apache2/certificates/example.com/fullchain.pem \
--reloadcmd "service apache2 force-reload"

引用自:https://unix.stackexchange.com/questions/654123