文章標題: windows 上搭建 sftp 服務器 - freesshd全過程
關鍵字 : freesshd
文章分類: 教程
創(chuàng)建時間: 2020年3月23日
緣由
Zoomla!逐浪CMS v8全面基于.net Core,需要支持linux,sftp顯然是一個不錯的選擇。
linux 下 sftp 默認都會安裝的, Windows 就沒有了。網上搜的資料發(fā)現比較好用的是 freesshd,免費版中最好用的。
1,下載:http://www.freesshd.com/?ctt=download , 只下載 freeSSHd.exe 就可以了
2,安裝:一路默認就可以了
3,設置:(網上資料不全,遇到的問題搜了好久也沒個詳細的信息,所以寫篇博客記錄)
特別說明一下,這里設置為密碼登陸方式,而不用密匙方式,因為最近工作中在做 sftp 密碼非交互式登陸
最近在使用vscode,其中FTP管理,要么是暗網式的管理,要么vscode-sftp工具則默認是sftp協(xié)議,于是只能動手部署了!
有朋友想知道sftp、ftp、ftp有什么區(qū)別,這里有一篇深度文章可以瀏覽,來自逐浪CMS發(fā)哥嘔心之作:站長管理服務器必讀:Ftp、Ftps與Sftp三兄弟的不同與區(qū)別以及部署全指引
https://www.z01.com/help/Cloud/3553.shtm
動手
SFTP 服務端工具CSDN下載:https://download.csdn.net/download/chang_chao_123/11175571
官方地址:http://www.freesshd.com/index.php?ctt=download

第一步:添加用戶

第二步:設定ssh地址,選擇本地IP地址

第三步:在SFTP選項卡中,選擇SSH服務器默認路徑

第四步:Authentication 中 Password authentication 一欄 要選擇 Required ,否則客戶端連接時輸入密碼總是錯誤

server status 中 run ssh servers
這里會遇到幾個問題
1,提示私有秘鑰沒安裝
安裝時如果安裝路徑不是 C 盤的話 或 安裝過程提示產生私有秘鑰你卻沒做,請看以下安裝目錄freeSSHd下是不是只有 FreeSSHD,unins 4個文件
如果安裝在C盤的話,當安裝私有秘鑰會多出這幾個文件:

2,還會有遇到下面的問題,即ssh服務無法跑起來
請到進程中殺掉 FreeSSHDService.exe,然后到安裝目錄下 使用管理員權限運行 FreeSSHDService

OK,終于可以起來了

補充:
sftp test@192.168.10.103
test@192.168.10.103's password:
Permission denied, please try again.
test@192.168.10.103's password:
Permission denied, please try again.
密碼明明輸入正確的,可能還會遇到上面的情況, rm -rf ~/.ssh 也不行的話, 就是因為 windons 上運行 freesshd 沒以管理員權限運行了哦?。?!
補充:Permission denied, please try again. , 有時候上面情況試過了,還會出現這樣的話,看一下管理員權限默認起來的 ssh ip 是不是對的?如果不對,然后自己改動后點擊應用是沒有什么卵用的,還是連不上(奇葩bug真多)。這個時候呢,改到你需要的ip后,點擊ok最小化界面,然后 unload freesshd, 再重新管理員權限啟動,注意起來后默認的ssh ip 一定要是你需要的。
推薦管理工具
Windows最強ssh客戶端推薦 —— Bitvise SSH Client
據說這是一個高富帥的SFTP管理工具:bitvise 。http://www.bitvise.com/ssh-server-users-guide

原名Tunnelier,解除它是因為為了sshFQ,沒想到它既有SSH Terminal,又集成SFTP,還能FQ,功能一應區(qū)全。
還支持pem證書,回想最初使用putty,還要把pem證書進行轉換才能使用。
另外,它的安裝目錄下還帶有ssh命令行工具:

sftpc.exe是SFTP命令行
sexec.exe是遠程執(zhí)行指令
stermc.exe是ssh客戶端
使用這些命令進行遠程的SSH維護,避免了老是切換到Linux下進行的麻煩
提示
注意:設置的 sftp 根路徑不要出現中文,會出錯。
sftp端口默認是22
在windows 8以上操作系統(tǒng)中,請賦予程序管理員權限。