Secure File Transfer Protocol的缩写,安全文件传送协议。
1、连接
ChannelSftp sftp = null; try { JSch jsch = new JSch(); //获取会话对象 Session sshSession = jsch.getSession(username, host, port); System.out.println("Session created."); //向会话对象植入密码 sshSession.setPassword(password); Properties sshConfig = new Properties(); sshConfig.put("StrictHostKeyChecking", "no"); sshSession.setConfig(sshConfig); //连接会话 sshSession.connect(); System.out.println("Session connected."); System.out.println("Opening Channel."); //获得会话通道 Channel channel = sshSession.openChannel("sftp"); //连接 channel.connect(); sftp = (ChannelSftp) channel; System.out.println("Connected to " + host + "."); } catch (Exception e) { } return sftp;
2、操作
//上传文件 try { sftp.cd(directory); File file=new File(uploadFile); sftp.put(new FileInputStream(file), file.getName()); System.out.println("上传成功!"); } catch (Exception e) { e.printStackTrace(); } //下载文件 try { sftp.cd(directory); File file=new File(saveFile); sftp.get(downloadFile, new FileOutputStream(file)); } catch (Exception e) { e.printStackTrace(); } //删除文件 try { sftp.cd(directory); sftp.rm(deleteFile); } catch (Exception e) { e.printStackTrace(); }
3、断开连接(还有session会话、channel对象)//根据项目情况断开连接
if(null != channel ){ System.out.println("断开Channel连接"); channel.disconnect(); } if(null != sftp ){ System.out.println("断开ChannelSftp连接"); sftp.disconnect(); } if(null != sshSession ){ System.out.println("断开Session连接"); sshSession.disconnect(); }
4、测试
public static final String HOST = "x.x.x.x"; public static final int PORT =**; public static final String USERNAME = "**"; public static final String PASSWORD = "***"; public static final String DIRECTORY = "/ent/post_res/"; public static void main(String[] args) { SFTPUploadBean sf = new SFTPUploadBean(); //本地文件 String uploadFile = "G:\\sftp.txt"; //连接 ChannelSftp sftp=sf.connect(HOST, PORT, USERNAME, PASSWORD); //操作 sf.upload(DIRECTORY, uploadFile, sftp); //关闭连接 sf.free(sftp); System.exit(0); }
相关推荐
利用Renci.SshNet类库实现sftp文件操作,Renci.SshNet可以实现sftp(基于ssh)操作,也可以实现sftp(不基于ssh)操作。此文件包括Renci.SshNet.dll、文件操作方法类及调用实例。注意Renci.SshNet.dll只支持.net ...
C对SFTP的文件操作 1、连接sftp协议 2、实现文件的添加、删除、移动等
1分让你得到sftp常用操作工具,工具实现如下操作: 1)得到当前工作目录地址 2)改变目录为配置的远程目录 3)取文件目录列表 4)取文件列表 5)下载文件 6)复制文件 7)删除文件 8)目录是否存在,文件是否存在 9)移动文件 ...
window下bat操作ftp、sftp,脚本已完善,只需要修改配置即可。本脚本是参照https://download.csdn.net/download/housonglin1213/10127890进行修的,分值是系统设置的,没分的话可以从前面的链接中下载
windows版的sftp和ftp服务器,支持分账户权限管理,安装和使用操作简单易用
java 实现 sftp 文件上传下载 等操作。
Java 操作SFTP上传文件下载案例,很值得看的,Java 操作SFTP上传文件下载案例,很值得看的。
C# SFTP上传下载文件,此代码来源于互联网,本人整理,修改和测试无问题的代码,共享给大家。
其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上...
FTP,SFTP文件上传,下载到服务器,ZIP文件压缩,加密,解密,然后再上传到服务器,各种封装操作; 里面包含了帮助类库和测试使用说明,下载即可运行;该代码是本人项目实际运行后的总结,分享给大家;
利用com.jcraft.jsch进行SFTP下载文件,方便简单快捷操作SFTP
前面上传过一次,不能编辑了,重新上传...和前面那个相比,代码优化了一下:1)上传和下载完成的时候关闭FileStream(不关闭的话下载完成之后本地操作该文件会提示被占用),2)增加了连续下载多个文件(位于Form2)。
连接/断开SFTP,上传文件、移动文件、删除文件、下载文件,获取文件目录
sftp, 对 go/ssh包的SFTP支持 sftpsftp 包提供了使用SFTP子系统对远程ssh服务器上的文件系统操作的支持。 它还实现了一个用于从 文件系统 服务文件的SFTP服务器。 的用法和示例请参阅 godoc.org/github.com/pkg/sf
3. 易用性:SFTP 协议提供了一种简单、易用的文件传输方式,支持多种操作系统和应用程序。 SFTP 协议的应用场景包括: 1. 文件传输:SFTP 协议可以用于文件传输、备份和同步等场景。 2.远程存储:SFTP 协议可以...
读取文件、操作文件、删除文件、移动文件(文件改名)等一系列操作,只要导入依赖.txt里面的依赖,就可以直接使用,test类用来快速使用,提示都给足了,ftp的一系列操作经过测试没有任何问题。有不懂的直接问我。 ...
该包基于Apache的sshd搭建sftp服务器,可以实现登录密钥验证,支持sftp操作和linux命令操作
在工作或者学习的时候,我们常常会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。这些可以通过配置sftp服务实现。 方法如下 ...
写了一个java操作sftp的工具类,里面有上传、下载、批量操作、远程创建目录、删除文件等等方法。里面的方法,都经过我测试,可用。。
Sftp:C#利用Renci.SshNet类库实现SFTP协议操作文件