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