- blogs:
- cles::blog

dehydrated をつかって Let's Encript の証明書を取得(dns-01編)






先日、dehydrated をつかって Let's Encript の証明書を取得で http を使った方法(http-01)で証明書を取得しました。
一番お手軽とも言える方法ですが、この方法の欠点はポートが 80 の HTTP に限定されているので、ポート 443 を使って HTTPS 経由で同様の方法で認証することはできません。
今回はセキュリティ上 80 番が空いていないサーバから証明書を取得したかったので、DNS の TXT レコードを使う方法(dns-01)にチャレンジします。
† セットアップ方法はそれほど変わらない
今回は「Let's EncryptのDNS-01を使用して無料のSSL証明書をWebサーバなしで取得する -- ぺけみさお」を参考にさせていただきました。
まず前回と同じように dehydrated セットアップしていきます。
前回と違うのは Apache の設定がなく、途中で dns-01_hook.sh というフック用のスクリプトの生成が入ることくらいです。
† 証明書取得時の操作
証明書を取得するためには dehydrated を起動したあと、DNS を書き換える必要があります。
上の起動コマンドで dehydrated を起動すると、スクリプトは以下の出力を出したところででブロック(一旦停止)しますが、この操作を行ったターミナルは触らずにそのままにしておいてください。閉じたり、エンターを押したりすると認証用のハッシュが無効になってしまいます。
自分の DNS のゾーンに以下のようなレコードを登録してやります。
# 具体的な操作は使っている DNS サービスや DNS サーバに合せて実施してください。
登録が終わったら dig コマンドなどで、設定した TXT レコードが引けるか確認します。
きちんと応答が得られることを確認したら、元のターミナルに戻ってエンターキーを押すと DNS による認証が行われます。
成功すれば certs/(FQDN) に証明書が生成されているはずです。
DNS の TXT レコードのハッシュは使い捨てなので、証明書が生成されていることを確認したら削除しておきましょう。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9124
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110850)
3 . 年次の人間ドックへ(110431)
4 . 2023 年分の確定申告完了!(1つめ)(109973)
5 . 三菱鉛筆がラミーを買収(109875)