之前找了一套支援 SFTP (FTP over SSH) 的 FTP Server 就是為了解決 Port 不夠用的問題,直到最近才發現我們常用的 FileZilla Server 原來就有支援 FTPS ( FTP over SSL ) 功能,雖然使用 FTPS 無法省 Port,但至少對資料傳輸的安全性來說絕對是大幅提昇。
要啟用 FileZilla Server 的 FTPS 功能可參照以下步驟:
1. 先啟用 SSL/TLS 支援,然後建立一個測試用憑證
2. 輸入一些基本資料,如果這台 FTP 是自己用的,就不用講究這麼多啦,隨便填一填,最後要指定儲存憑證的檔名與路徑,再按下 Generate certificate 即可。這裡建立的憑證預設有效期限只有一年而已,若要建立較長時間的憑證可以利用 Windows Server 內建的憑證管理工具建立憑證。
3. 接著他會自動幫你填入自建的憑證路徑,直接按下 OK 即可設定完成。
最後在設定 FileZilla Client 的「站台管理員」中設定連線時,記得要選對「伺服器種類」,要選取「FTPS - 透過隱含式 TLS/SSL 的 FTP」才會利用 FTPS 連線喔。
第一次連線時,由於憑證是自建的,沒有信任關係,所以才會出現「未知的憑證」警告畫面,你可以勾選「總是信是未來連線的憑證」即可跳過這個警告。
底下你可以看到連線時的狀態,預設 FTPS 的 Port 為 990,由於 SSL/TLS 在 TCP 連線時要先進行 Handshake 驗證憑證,所以當 TCP 連線建立後會先驗證憑證,通過後才會開始進行 FTP 指令,也代表著利用 FTP 傳輸檔案的安全性將大大提升。
2009-07-02 更新
使用 FTPS 一樣需要區分 Command Channel 與 Data Channel,所以一樣會用到不只一個 Port,所以防火牆一樣需要設定正確才能通。
2011-08-20 更新
FileZilla 並不支援 SFTP (SSH over FTP) ,請不要搞混摟!