1. 程式人生 > 其它 >如何在內網搭建SFTP伺服器,併發布到公網可訪問

如何在內網搭建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地址