1、密鑰(工具:puttygen.exe)java
1. 點擊puttygen.exe, 點擊Generate, 鼠標在空白處來回換動,有助於快速生成密鑰。 windows
2. 密鑰生成後,能夠爲密鑰設置密碼key passphrase,點擊save private key, 保存客戶端私鑰。 (必須設置私有密鑰的密碼)服務器
3. 不要點擊save public key, 手動複製public key的內容到.txt文件保存(其餘任何文件類型皆可),並上傳到服務器端。(放置在Authentication tab頁中設置的目錄下面,而且公有密鑰的名稱必須與用戶名一致) ssh
2、搭建sftp服務器(freesshd)工具
一、從FREESSHD官方網站下載最新的軟件版本,下載地址是http://www.freesshd.com/?ctt=download網站
二、雙擊剛剛下載的freeSSHd.exe進行安裝,一路默認就能夠了。ui
三、設置.net
第一種是windows系統帳戶登陸server
第二種是自定義用戶名密碼登陸blog
Public key是公有密鑰認證方式,無須輸入密碼,但須要生成公有密鑰
文件選項爲目錄公鑰文件夾位置(將用戶名命名的公鑰放置在該文件夾下)
兩個都選擇allowed(即兩種方式都支持登陸)
freesshd支持兩種方式的認證,password和public key,你可使用其中的任意一種,也能夠要求客戶端同時進行兩種認證,也就是說,若是兩個都設置爲required,客戶端要想連入服務器,得同時要有密碼和public key。都設爲allowed,任意一種認證均可以進入服務器。第一種認證簡單,只要在客戶端輸入用戶名和密碼就能夠,第二種就須要一對密鑰了(公鑰和私鑰,私鑰客戶端持有,公鑰要放到服務器上,圖中的public key folder就是存放各個客戶端私鑰對應的公鑰的).
設置完畢後重啓服務既可生效
3、搭建sftp客戶端(filezilla或putty )
打開[文件] -> [站點管理器],出現一下界面,並按照要求填寫。
普通用戶名密碼登陸:
密鑰登陸:
4、 java實現sftp客戶端
JSch是一個SSH2的純Java實現(相關包jsch-0.1.54.jar),sftp是ssh的一部分
5、jar包
須要替換jre下的jar包( jre\lib\security(更新US_export_policy.jar和local_policy.jar))
參考文檔:http://blog.csdn.net/derek_zhang_/article/details/8486251