目錄
- 1. 搭建SFTP服務器
- 1.1 下載 freesshd 服務器軟件
- 1.2啟動SFTP服務
- 1.3 添加用戶
- 1.4 保存所有配置
- 2. 安裝SFTP客戶端FileZilla測試
- 2.1 配置一個本地SFTP站點
- 2.2 內網連接測試成功
- 3. 實現公網遠程訪問SFTP
- 3.1 安裝cpolar內網穿透
- 3.2 創建SFTP隧道
- 3.3 獲取公網地址
- 4. 使用SFTP客戶端,連接公網地址測試
- 4.1 添加新站點
- 4.2 以公網方式,連接sftp服務器成功
相較比高效率的FTP協議而言,SFTP默認只占用一個TCP端口 22端口,采用的是SSH加密隧道,理論上會比FTP更安全,更穩定些。
搭建SFTP服務器,這里我們用freesshd來實現;而在服務器搭建成功后,要實現公網訪問,我選擇用cpolar內網穿透
,支持http/https/tcp協議,不限制流量,無需公網IP也不用設置路由器,使用比較簡單,本地安裝完成后,創建隧道映射22端口獲取公網TCP端口地址來實現遠程連接就可以了。
1. 搭建SFTP服務器
1.1 下載 freesshd 服務器軟件
下載地址:http://www.freesshd.com/?ctt=download
- 選擇
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測試
下載地址:https://www.filezilla.cn/
- 安裝后打開,如下圖
2.1 配置一個本地SFTP站點
- 在軟件工具欄點擊
打開站點管理器
,如下圖。
- 點擊
新站點
按鈕。
我們創建一個新站點,名稱可自定義。
- 選擇協議:為SFTP
- 服務器IP:因為就是在服務器上,選擇127.0.0.1
- 端口號:選擇 22
- 用戶名:為我們搭建sftp服務器時,創建用戶,本例為aaa
- 密碼:輸入用戶aaa的密碼
配置好后,點連接
按鈕。
提示是否保存密碼,點擊確定。
初次連接時,會提示是否信任該主機,打勾,并確認。
2.2 內網連接測試成功
我們可以看到,已經可以獲取到服務器端的目錄列表,說明連接成功。
3. 實現公網遠程訪問SFTP
3.1 安裝cpolar內網穿透
- 公網遠程訪問,我們用cpolar內網穿透來實現。進入cpolar官網,注冊一個賬號,然后下載安裝包解壓一路默認安裝即可。
cpolar官網:https://www.cpolar.com/
- cpolar安裝完成后,我們打開瀏覽器訪問127.0.0.1:9200,使用剛剛注冊的cpolar郵箱賬號登錄cpolar web ui管理界面
3.2 創建SFTP隧道
選擇左側儀表盤的隧道管理
–創建隧道
,我們來創建一個新隧道,指向22端口,tcp協議:
- 隧道名稱:tunnel-sftp (您可以自定義,不重復即可)
- 協議: TCP
- 本地地址:22
- 地區: 本例中選擇China Top
點擊創建
按鈕。
隧道創建成功后,可以在隧道列表中,查看到我們剛剛創建的隧道。
3.3 獲取公網地址
點擊左側儀表盤的狀態——在線隧道列表,可以看到本地所有在線隧道的公網地址。可以看到我們剛剛所創建的SFTP隧道的公網地址為 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,就不會亂碼了】
PS:需要注意的是,由于本例中使用的是免費套餐,sftp站點的公網地址及端口會在24小時內變化,經常使用比較不方便。可以升級到專業套餐以上,并配置成固定TCP端口地址隧道,同時帶寬也會增大到3M。