﻿# 如何啟用 FileZilla Server 的 FTPS 功能 ( FTP over SSL )

[之前](/post/2009/05/05/Useful-tool-Sysax-Multi-Server-SFTP-Server-in-Win2k8)找了一套支援 SFTP (FTP over SSH) 的 FTP Server 就是為了解決 Port 不夠用的問題，直到最近才發現我們常用的 [FileZilla](http://filezilla-project.org/) Server 原來就有支援 FTPS ( FTP over SSL ) 功能，雖然使用 FTPS 無法省 Port，但至少對資料傳輸的安全性來說絕對是大幅提昇。

要啟用 [FileZilla Server](http://filezilla-project.org/download.php?type=server) 的 FTPS 功能可參照以下步驟：

1\. 先啟用 SSL/TLS 支援，然後建立一個測試用憑證

![FileZilla Server: 先啟用 SSL/TLS 支援，然後建立一個測試用憑證](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/8605e6771dac1233e990-image_3.png "FileZilla Server: 先啟用 SSL/TLS 支援，然後建立一個測試用憑證")

2\. 輸入一些基本資料，如果這台 FTP 是自己用的，就不用講究這麼多啦，隨便填一填，最後要指定儲存憑證的檔名與路徑，再按下 **Generate certificate** 即可。這裡建立的憑證預設有效期限只有一年而已，若要建立較長時間的憑證可以利用 Windows Server 內建的憑證管理工具建立憑證。

![輸入一些基本資料，如果這台 FTP 是自己用的，就不用講究這麼多啦，隨便填一填，最後要指定儲存憑證的檔名與路徑，再按下 Generate certificate 即可。](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/5528ddf4b1ce4dcb4155-image_6.png "輸入一些基本資料，如果這台 FTP 是自己用的，就不用講究這麼多啦，隨便填一填，最後要指定儲存憑證的檔名與路徑，再按下 Generate certificate 即可。")

3\. 接著他會自動幫你填入自建的憑證路徑，直接按下 OK 即可設定完成。

![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/4e4a579810807f75519c-image_9.png "image")

最後在設定 FileZilla Client 的「站台管理員」中設定連線時，記得要選對「伺服器種類」，要選取「**FTPS - 透過隱含式 TLS/SSL 的 FTP**」才會利用 FTPS 連線喔。

![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/b3a3cbb82821ea90cfc6-image_12.png "image")

第一次連線時，由於憑證是自建的，沒有信任關係，所以才會出現「未知的憑證」警告畫面，你可以勾選「總是信是未來連線的憑證」即可跳過這個警告。

![第一次連線時，由於憑證是自建的，沒有信任關係，所以才會出現「未知的憑證」警告畫面，你可以勾選「總是信是未來連線的憑證」即可跳過這個警告。](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/1b55c2a7a203c91c60a0-image_15.png "第一次連線時，由於憑證是自建的，沒有信任關係，所以才會出現「未知的憑證」警告畫面，你可以勾選「總是信是未來連線的憑證」即可跳過這個警告。")

底下你可以看到連線時的狀態，預設 FTPS 的 Port 為 990，由於 SSL/TLS 在 TCP 連線時要先進行 Handshake 驗證憑證，所以當 TCP 連線建立後會先驗證憑證，通過後才會開始進行 FTP 指令，也代表著利用 FTP 傳輸檔案的安全性將大大提升。

![你可以看到連線時的狀態，預設 FTPS 的 Port 為 990，由於 SSL/TLS 在 TCP 連線時要先進行 Handshake 驗證憑證，所以當 TCP 連線建立後會先驗證憑證，通過後才會開始進行 FTP 指令，也代表著利用 FTP 傳輸檔案的安全性將大大提升。](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/13bf1e737e1938c115d9-image_18.png "你可以看到連線時的狀態，預設 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) ，請不要搞混摟！

**相關連結**

-   [FileZilla - The free FTP solution](http://filezilla-project.org/)
