從 Let’s Encrypt 取得的網站憑證,其實可以拿來在 Mail 和 FTP 站使用。
vsFTPd 要啟用 TLS 加密傳輸,要先製作或取得Domain憑證,既然先前已經從 Let’s Encrypt 取得憑證,那就直接拿來用即可。
接下來就修改設定檔,IPv4 的設定檔在 /etc/vsftpd/vsftpd.conf,而 IPv6 的設定檔是在 /etc/vsftpd/vsftpd_v6.conf,在 IPv4 和 IPv6 Dual Stack 的環境下,記得兩個檔案都要改到,設定檔的內容都一樣。
基本設定: ssl_enable=YES #啟用加密連線(預設是使用 ssl_tlsv1=YES,所以不用特別指定就會啟用 TLS 了) ssl_ciphers=HIGH #指定加密演算法,HIGH 使用高於 128bits 加密方式 rsa_cert_file=/etc/letsencrypt/live/自已的Domain名稱/fullchain.pem #憑證位置 rsa_private_key_file=/etc/letsencrypt/live/自已的Domain名稱/privkey.pem #私鑰位置
加入以上四行就夠了,其他的都用預設值也就可以了,至於其他的設定,可參考說明檔。
設定完成,重啟 vsFTPd:
#service vsftpd restart
但是
還是會出現「這個伺服器的憑證不明」
還是要自己勾選「總是信任未來連線的憑證」
那和自己簽發憑證有何不同~~~~~~ XD
不過總是可以用就是了~~~~~~
啟用之後,所有連線預設都是必須加密的,如果有必要使用一些沒有辦法設定加密連線的 FTP Client,就要關閉強制加密的設定(預設值是開啟強制加密,所以想關閉再設定即可)。到 /etc/vsftpd/vsftpd.conf 及 /etc/vsftpd/vsftpd_v6.conf 修改設定:
force_local_data_ssl=NO (登入不強制加密) force_local_logins_ssl=NO (資料不強制加密,都已經無法加密了,這條也要一起改)
修改後重啟 vsftpd 即可,就算 client 沒有使用加密連線也可登入了。