1、导入依赖
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.53</version>
</dependency>
2、实现代码
import com.jcraft.jsch.*;
/**
* @Author: LEAVES
* @Version 1.0
* @Date: 2023年08月22日 19时31分01秒
* @Description: 以SSH的方式将文件上传到指定服务器工具类
*/
public class SshFileUploaderUtil {
public static void main(String[] args) {
//本地文件的路径
String localFilePath = "/path/to/local/file.txt";
//远程服务器上存储文件的路径
String remoteFilePath = "/path/to/local/file.txt";
//远程服务器IP
String remoteHost = "remote-server-ip";;
//远程服务器SSH端口
int port = SSH端口;
//远程服务器用户名
String username = "remote-server-username";
//远程服务器密码
String password = "remote-server-password";
try {
JSch jsch = new JSch();
Session session = jsch.getSession(username, remoteHost, port);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no"); // Disable host key checking
session.connect();
ChannelSftp channelSftp = (ChannelSftp) session.openChannel("sftp");
channelSftp.connect();
channelSftp.put(localFilePath, remoteFilePath);
channelSftp.disconnect();
session.disconnect();
System.out.println("File uploaded successfully.");
} catch (JSchException | SftpException e) {
e.printStackTrace();
}
}
}