http://blog.csdn.net/haidage/article/details/6859716
在自己尝试之后发现以上内容里有坑。
1、关闭连接的时候,必须要sftp.getSession().disconnect();sftp.quit();sftp.disconnect();否则session回话一直都在,如果使用
main()函数测试的话,进程一直都不关闭。
2、上面的文章里,没有考虑到使用证书加密的方式进行访问,
(1) 在变量声明中加一个证书文件路径变量。
private String privateKeyPath = "/home/user/.ssh/id_rsa";
(2) 在jsch对象创建之后,引入证书文件。需要注意的是,该路径是运行本程序的服务器的本地路径,不是远端访问对象的路径。
if(privateKeyPath != null && !privateKeyPath.isEmpty()){
jsch.addIdentity(privateKeyPath);
}
3、关于秘钥部分,可以参考下面的文章,秘钥分带密码的和不带密码的。
http://blog.csdn.net/fyqcdbdx/article/details/23863639