500 OOPS: SSL: cannot load RSA certificate でvsftpdが起動しない


これは何

証明書発行の形式がvsftpd様に合わなかったようで、変えたらエラー回避できた話です。
エラー解決からだいぶ日が経ってしまったので、忘れてしまっている部分もあり、概要だけ書きます。

構成図

事象

$ sudo openssl genrsa -aes256 2048 > vsftpd.key
Generating RSA private key, 2048 bit long modulus
.................+++
.........................+++
Enter pass phrase:
Verifying - Enter pass phrase:

$ sudo openssl req -new -key vsftpd.key -x509 -days 365 -out vsftpd.pem
Enter pass phrase for vsftpd.key:

$ mv vsftpd.key vsftpd.key.bak

$ sudo openssl rsa -in vsftpd.key.bak -out vsftpd.key
Enter pass phrase for vsftpd.key.bak:
writing RSA key

$ sudo chown root:root vsftpd.pem vsftpd.key

で証明書を発行。

これをvsftpdで使用するように設定して、再起動したところ、表題のエラー。

解決策

以下参考に、証明書発行の形式を変えたところ、うまくいった。
https://askubuntu.com/questions/412070/vsftpd-will-not-start-with-ssl-enabled

openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.key -out /etc/vsftpd/vsftpd.pem

なお、なぜうまくいったかはまだ判明できていない。
そのうち時間ができたらこの辺勉強したい。

参考

参考にさせていただきました。ありがとうございます。