請事先使用 letsencrypt 獲取憑證
一、初步建立憑證
1.開啟pureftpd的TLS認證
echo 1 | sudo tee /etc/pure-ftpd/conf/TLS echo "10000 10100" > /etc/pure-ftpd/conf/PassivePortRange
2.利用letsencrypt 所獲得的憑證合成TLS憑證
cat /etc/letsencrypt/live/example.com/cert.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/ssl/private/pure-ftpd.pem
3.修改剛剛所得到的TLS憑證權限
chmod 600 /etc/ssl/private/pure-ftpd.pem
4.重新啟動pureftpd-mysql
/etc/init.d/pure-ftpd-mysql restart
二、自動更新憑證
利用letsencrypt 所產生的憑證3個月就要重新更新一次,所以我們合成的TLS憑證同樣也要更新,
我們使用LINUX的排程系統進行更新TLS。
1.建立tls.sh檔案
vi /bin/tls.sh
2.tls.sh檔案內容
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH rm -rf /etc/ssl/private/pure-ftpd.pem cat /etc/letsencrypt/live/example/cert.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/ssl/private/pure-ftpd.pem chmod 600 /etc/ssl/private/pure-ftpd.pem /etc/init.d/pure-ftpd-mysql restart exit 0 ~
3.編輯crontab排程檔
vi /etc/crontab
5.將tls.sh檔加入排程系統最後一行即可完成
40 2 * * 7 root sh /bin/tls.sh