快速架設FTP /SFTP Server

quick setup ftp sftp server

這次使用FileZilla Server 1.3來架設FTP,FTPS。

至於SFTP,則使用FreeFTPd來架設SFTP 。

FileZilla Server可以安裝在windows 10上做使用相當方便。

※在安裝前,請先開啟Server / Client防火牆Port 21、22、990。

FileZilla Server 1.3安裝

1. 安裝FTP Server – FileZilla 1.3.0

FileZilla Server 1.3-step1

 

2. 預設全選

FileZilla Server 1.3-step2

 

3. 選擇安裝路徑

FileZilla Server 1.3-step3

 

4. 開始目錄名稱設定-預設

FileZilla Server 1.3-step4

 

5. 設定FileZilla Server預設port(14148),與設定密碼。

FileZilla Server 1.3-step5

 

6. 操作介面設定

FileZilla Server 1.3-step6

 

7. FileZilla安裝會自己產生TLS憑證

FileZilla Server 1.3-step7

 

設定FileZilla Server

1. 連結FileZilla Server

FileZilla Server setting step1

 

2. 輸入安裝時設定的Admin密碼

FileZilla Server setting step2

 

3. 繼續與儲存主機的指紋

FileZilla Server setting step3

 

4. 設定FTPServer

FileZilla Server setting step4

 

5. 新增FTP、FTPS

 

6. 選擇隱含式的FTP驗證。

FileZilla Server setting step6

 

7. 新增使用者與虛擬目錄設定。

FileZilla Server setting step7-1

FileZilla Server setting step7-2

 

8. 設定完成畫面

FileZilla Server setting step8

 

9. 測試FTP使用FileZilla Client,打開站台管理員新增站台,加密模式選擇:僅使用明碼的FTP。

FileZilla Server setting step9

 

10. 傳輸設定,選擇主動模式

FileZilla Server setting step10-1

FileZilla Server setting step10-2

 

11. 上傳檔案測試

FileZilla Server setting step11

 

12. Ftps連線測試,加密方式:需透過隱含是的TLS的FTP。

 

傳輸設定:主動模式

FileZilla Server setting step12

 

13. 連線後會開啟990Port,測試刪除上傳檔案。

FileZilla Server setting step13

 

安裝SFTP Server -freeFTPd

1. 開始安裝freeFTPd

SFTP Server step1

 

2. 選擇安裝路徑

SFTP Server step2

 

3. 預設完整安裝

SFTP Server step3

 

4. 預設的安裝資料夾名稱

SFTP Server step4

 

5. 創建桌面圖示

SFTP Server step5

 

6. 確認安裝資訊

SFTP Server step6

 

7. 產生私鑰-是

SFTP Server step7

 

8. 是否變為系統服務-是

SFTP Server step8

 

9. 打開freeFTPd開始設定

SFTP Server step9

 

10. 新增使用者

SFTP Server step10

 

11. 設定使用者資訊:

a. 使用者家目錄

b. 使用者可用的連線協定 FTP/SFTP

SFTP Server step11

 

 

12. SFTP設定:

a. 聆聽的IP位址,預設全部界面。

b. 聆聽的Port,預設22 port。

c. 完成設定後開始並儲存。

SFTP Server step12

 

13. 開始執行後畫面如下

SFTP Server step13

 

14. 使用FileZilla Client測試連線,使用快速連線即可。

信任主機的連線金鑰。

SFTP Server step14

 

15. 登入成功並可以上傳檔案

SFTP Server step15

 

FTP主動模式與被動模式

A. 主動模式:

命令端由Client建立,資料由Server主動連線。

1. 命令通道:Client端開啟一個N Port(N>1024),使用N Port連線到Server端的21Port,Client監聽N+1 Port,併傳送N+1 Port給Server端。

2. 資料傳輸:Server端從自己的20 Port傳送資料至Client端提供的N+1 Port。

3. 連線失敗原因:可能被Server/Client端的防火牆檔住,Client端如果在Nat環境內會連不到。

B. 被動模式:

命令與資料都是由Client進行連線。

1. 命令通道:Client開啟一個N port(N>1024)和N+ 1Port ,使用N Port 向Server端的21Port 進行連線,並提交pasv命令給Server,Server返回一個 P Port (P>1024)給Client。

2. 資料傳輸:Client端從自己的N+1 Port連線至Server的P Port來進行資料傳輸。

3. 連線失敗原因:Server端的防火牆

C. 總結:

1. 主動模式對Server管理比較有利,但Server端連接Client端的隨機埠可能被防火牆檔掉。

2. 被動模式對Client管理比較有利,Client要對Server端建立兩個連線,也可能被Server端的防火牆檔掉。

3. 針對環境選擇自己適合的方式來做資料傳輸的應用。

 

心得

原本建立好FTP server後,但因為都用FileZilla Client的快速連線,來使用FTP功能,原本都沒有去設定主動被動模式,所以導致連接到,但都無法讀取跟目錄的問題。也是查問題後才發現要特別設定FTP的主被動模式,而在使用的時候還是會習慣使用cmd指令netstat來觀察主機目前開啟建立的連線埠有哪些。除了方便查看目前狀態,也能掌握主機有無異常的開啟連接埠與陌生的主機進行連線,防火牆規則也盡量越精準越好,這樣自然可以方便的使用這些服務。

參考資料

https://filezillapro.com/docs/v3/faq/ftp-connection-active-passive-mode/#ConnectFTP
https://zh.wikipedia.org/wiki/%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE


發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料