如何在內網搭建SFTP伺服器,併發布到公網可訪問
1. 搭建SFTP伺服器
1.1 下載 freesshd 伺服器軟體
下載地址:freeSSHd and freeFTPd
選擇freeFTPD.exe下載
下載後,點選安裝
安裝之後,它會提示是否啟動後臺服務,Yes
安裝後,點選開始選單--> freeFTPd,注意:這裡要點選滑鼠右鍵,以管理員許可權開啟freeFTPd,如果以普通使用者開啟freeFTPd,將無法儲存配置。
主圖口如下,我們看到SFTP狀態為未啟動。
1.2 啟動SFTP服務
選擇SFTP,如下圖,我們看到當前SFTP狀態為Stopping,我們點選start按鈕。
狀態將變為Running...,如下圖。
1.3 新增使用者
選擇Users選項視窗,點選Add按鈕,新增使用者。
這裡新增一個測試使用者aaa 認證方式可以選擇WINDOWS驗證和密碼驗證,本例選擇獨立密碼驗證。
使用者目錄,我們為使用者單獨建立一個SFTP的根目錄。
建立好以後,點選Apply按鈕儲存
以及別忘了配置SFTP根目錄資料夾的目錄許可權
1.4 儲存所有配置
點選下圖Apply & Save按鈕。儲存所有配置寫配置檔案。
注意:如果彈出不能寫入配置錯誤視窗,說明您之前是用普通使用者啟動的freeFTPd,無法儲存配置檔案。需要以管理員許可權重新開啟freeFTPd,才能正常寫入配置檔案。重新執行步驟1,再次儲存。
儲存後的結果如下圖。
2. 安裝SFTP客戶端FileZilla測試
下載地址:FileZilla中文網 - 免費開源的FTP解決方案
安裝後開啟,如下圖
2.1 配置一個本地SFTP站點
在軟體工具欄點選開啟站點管理器,如下圖。
點選新站點按鈕。
我們建立一個新站點,名稱隨意。 選擇協議:為SFTP 伺服器IP:因為就是在伺服器上,選擇127.0.0.1 埠號:選擇 22 使用者名稱:為我們搭建sftp伺服器時,建立使用者,本例為aaa 密碼:輸入使用者aaa的密碼
配置好後,點連線按鈕。
提示是否儲存密碼,點選確定。
初次連線時,會提示是否信任該主機,打勾,並確認。
2.2 內網連線測試成功
我們可以看到,已經可以獲取到伺服器端的目錄列表,說明連線成功。
3. 使用cpolar內網穿透
前置條件是您已經安裝了cpolar,如果沒安裝,請參考《windows下安裝cpolar》文章。
我們開啟瀏覽器:127.0.0.1:9200
使用cpolar郵箱賬號登入。
3.1 建立SFTP隧道
選擇左邊選單欄隧道管理--建立隧道,新增一個新的TCP隧道。
隧道名稱:tunnel-sftp (您可以自定義,不重複即可)
協議: TCP
本地地址:22
地區: 本例中選擇China Top
點選建立按鈕。
隧道列表中,顯示了我們剛建立的隧道。
3.2 檢視線上隧道列表
本例中,我們獲取到的公網地址為 3.tcp.cpolar.top:12284,其中3.tcp.cpolar.top是公網地址,12284是埠號
4. 使用SFTP客戶端,連線公網地址測試
4.1 新增新站點
我們開啟filezilla,按步驟2的操作方式,重新新增一個新站點 工具欄裡,開啟站點管理器,新增新站點。
我們這次給站點起名為cpoalr sftp 協議:SFTP 主機: 3.tcp.cpolar.top (本例中可能跟您的不一樣,參考線上隧道列表) 埠:12284 (本例中可能跟您的不一樣,請參考您的線上隧道列表)
4.2 以公網方式,連線sftp伺服器成功
可以看到,已經通過cpolar提供的公網域名,連線SFTP伺服器成功。
PS:如果出現中文目錄亂碼的問題,可以通過在SFTP客戶端裡配置字符集來解決:
將字符集設定為GBK
【由於目前大多數linux字符集為了通用,以及都改為了UTF-8,而Windows預設字符集為GBK,所以只需要將其將字符集設定GBK,就不會亂碼了】
總結:
本例中,我們在windows中搭建了sftp站點,並且在本網測試成功後,又使用cpolar穿透工具,將SFTP站點,變得公網可用。由於本例中使用的是免費套餐,sftp站點的公網地址及埠會在24小時內變化,經常使用會很不方便。建議升級到專業套餐以上,並配置成固定TCP隧道,以獲得更好的體驗,注專業套餐是免費套餐頻寬的3倍。
下一步:
如何為SFTP站點配置固定公網TCP地址