Windows 下 搭建 基於 ssh 的sftp 服務器,服務器端可以用 freesshd,F-secure server 等,filezilla server不可用,之前傻乎乎的用filezilla 來做服務器,找不到任何有關sftp的配置選項,推薦用freesshd,免費、簡單,直觀,客戶端可以用一般的支持sftp的都可以,filezilla,f-secure client 等,我用freesshd和filezillazilla 搭建sftp 服務,我在內網搭建的,如果在外網發布,防火牆上得做一個地址映射。關於ssh,sftp可以上網找介紹,反正是加密安全傳輸數據。
Freesshd:
下載地址: http://www.freesshd.com/?ctt=download
安裝很簡單,就下一步,下一步就可以了。
各項配置非常簡單直觀,配好監聽的ip地址和端口(端口默認為22,建議不用22端口,網上經常有人掃描22端口,ssh弱口令攻擊),在users里建立用戶賬戶,host restrictions 可以簡單的對客戶端可訪問的ip地址做些限制,有白名單和黑名單兩種模式,logging記錄txt格式的日志,online users 顯示當前在線的用戶。Sftp選項下設置sftp的主目錄。
重點講一下認證吧,freesshd支持兩種方式的認證,password和public key,你可以使用其中的任意一種,也可以要求客戶端同時進行兩種認證,也就是說,如果兩個都設置為required,客戶端要想連入服務器,得同時要有密碼和public key。都設為allowed,任意一種認證都可以進入服務器。第一種認證簡單,只要在客戶端輸入用戶名和密碼就可以,第二種就需要一對密鑰了(公鑰和私鑰,私鑰客戶端持有,公鑰要放到服務器上,圖中的public key folder就是存放各個客戶端私鑰對應的公鑰的).
產生密鑰對的工具,推薦使用一款叫putty的工具軟件,運行該軟件下的puttygen.exe ,如下圖,點擊generate,按操作提示在空白處移動鼠標即可,保存公鑰和私鑰文件,注意:公鑰和私鑰的文件名要和用戶名一致,比方用戶名是jane,公鑰和私鑰文件名分別為jane,jane.ppk。公鑰放到freesshd下的pulic key folder,私鑰是客戶端使用的。
關於客戶端filezilla :打開站點管理器,填好要連接的站點信息及用戶名和密碼,如果要求公鑰認證的(公鑰認證時,用戶名那一欄還是要填的,密碼就不用填了),需要在sftp選項中添加putty產生的那個私鑰文件(這里,我犯了一個錯誤,把私鑰文件放在了一個中文目錄下,一直都不起作用,后來放到一個英文文件夾下才可以,看來老外的軟件還是對英文支持比較好)這樣,整個sftp就搭建完成了,公鑰認證的方式,服務器和客戶端密鑰的交換還可以使用putty下的pageant實現,把私鑰加到pageant的key list中就可以了。