ディレクトリ名にマルチバイト文字入れてたせい+αで四時間死んだ
この神記事を参考に、
VPS契約→ドメイン設定→DNS浸透待つ→Let’s EncryptでSSH証明書発行、をやろうとしたが、SSH証明書が全然発行できない。
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you're using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.
おまえんちにアクセスできなくってよ! おバカ! ってことね……。
やったこと1 DNS浸透確認
ここ使った。成功した。浸透してるぞ。
やったこと2 VSCodeから接続
神記事p.99から、VSCodeを使ってサーバーに接続する手順が書かれている。別手段で接続してみようってワケよ。
"Could not establish connection to ***.*******.com"
DNS浸透しているくせにこっちからは接続できない謎。
そうこうしているうちに、Let’s Encryptから怒られた。
There were too many requests of a given type :: Error creating new cert :: too many certificates already issued for: example.com
回数制限か。五分ぐらい置いてみたけど同じエラーで怒られ続ける。このあたりでやっちまった感が出てくる。
秘密鍵のパスにマルチバイト文字入ってるせいだった
基本に立ち返ってエラーログをガン見していたら、VSCodeのログに出ている秘密鍵のパスが明らかにバグっていた。私は管理フォルダというフォルダをデスクトップに作って、そこで何でもかんでも管理していたのだが、それが仇になっていた。
でも世の中イマドキUTF-8じゃないの? って軽くググってみたら、Windowsで作成したファイルのファイル名はShift-JISらしい。そしてCentOSにファイルを移動する際、Shift-JISでそのままコピーされ、もれなくバグる。勘弁してほしい。
なので管理フォルダをアルファベットのみの名前に変えたら、無事に接続成功したぞ! やった!
しかしSSH証明書は発行できない
なぜだ。
答え:http通信用のポートを開放していませんでした。
神記事のp.50を見事に読み飛ばしていただけだった。アホ・オブ・アホ。
資料はちゃんと読もうな!!!!!!!!!!!!!!!!!!