Windows搭建SFTP文件服务器
自己搭建一个SFTP文件服务器,来实现不同IP服务器之间文件的传输;
应用的场景:由于需要缓解服务器的压力,需要对服务进分离,分别放置在不同IP服务器上;
首先提供一个SFTP的工具,FreeSSHd,这个软件可以自行下载,安装的过程也是傻瓜式的,并没有什么可以说的至于对于服务器的配置,提醒以下几点:
1。默认是22端口,一般来说这个端口会被占用,所以我自己勾选的是23端口(红色框不勾选,如果勾选的话,并且之前选择作为一个系统服务的话,会创建另外一个实例,自己还是会以为是原来的那个服务器,结果导致实例创建不起来,最好把IP地址选上!!!)
2.创建一个自己的用户,
3.公用秘钥的勾选:
4.创建文件服务器默认的服务地址,可以进行勾选
5.其他的保持默认即可,记得要点击启动ssh服务!!!
6.提供一个连接服务器的工具类
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import java.util.Vector;
import org.apache.log4j.Logger;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpATTRS;
import com.jcraft.jsch.SftpException;
import com.jcraft.jsch.ChannelSftp.LsEntry;
public class SFTPUtils {
private static Logger log = Logger.getLogger(SFTPUtils.class.getName());
private String host;//服务器连接ip
private String username;//用户名
private String password;//密码
private int port = 22;//端口号
private static ChannelSftp sftp = null;
private Session sshSession = null;
public SFTPUtils(){
}
public SFTPUtils(String host, int port, String username, String password)
{
this.host = host;
this