Linux
Debian
Ubuntu
Encrypt

SSL/TLS証明書「Let's Encrypt」でTLS-SNI検証を無効化によるエラー

エラー内容

TLS-SNI検証を無効化による影響で、certbotコマンドでエラーが出るようになっていました。(2018年1月より)
Let’s Encrypt ACME TLS-SNI検証を無効化

エラー内容は以下のような内容です。
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.

以下には正常動作したときの結果だけを記載しますが、他のエラーなど苦戦した詳細な実行結果の記事は別で記載していますので、良ければ参照してください。
「Debian9」SSL/TLS証明書「Let's Encrypt」の導入記録

前提条件

[Debian9] で試しています([Ubuntu] でも同じのはず)
[Apache] が事前にインストールされている
[Let's Encrypt] はドメイン名が必要(IP直での証明書の取得はできません)

実行手順

Certbot クライアントのインストール

OSごとにインストールの方法が違います。今回は「Debian 8 (jessie)」に従いインストールします。(今回は「Debian 9 (stretch)」ですが、まだ資料がないので)
Certbot クライアントのインストール - Let's Encrypt 総合ポータル

リポジトリ [backports] から入手する必要なないようで、以下を実行。
$ sudo apt-get install certbot python-certbot-apache

これで [certbot] が使えるようになる。

certbotで証明書の取得

本来なら以下のコマンドで証明書を取得するのだが、これだと[certbot]コマンドの初回でたずねなれる[メール設定]や[同意]の入力をすすめることができるが、肝心の証明書取得のところで、予期せぬエラーとなる。
× $ sudo certbot --apache

同じことを何度やっても以下のエラーとなる。
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.

これが、TLS-SNI検証を無効化による影響のようだが、以下のコマンドを実行すると証明書の取得ができた。ただしこれを実行する前にApacheを一時的にとめる必要がある。
$ sudo certbot --authenticator standalone --installer apache

手順に従い操作を進めていくと証明書が無事取得できました。
Congratulations! You have successfully enabled https://xxx.mydomain.com

その他参考

実行時の他のエラーや、実行時の詳細記録、複数の証明書取得なども試しています。よろしければ参照ください。
「Debian9」SSL/TLS証明書「Let's Encrypt」の導入記録