java怎么通过sftp连接linux服务器
时间: 2023-05-24 21:03:06 浏览: 107
A:
通过Java连接Linux服务器可以使用JSch库来实现SFTP连接。下面是一个基本的代码示例:
```java
import com.jcraft.jsch.*;
public class SFTPExample {
public static void main(String[] args) {
String user = "username";
String password = "password";
String host = "hostname";
int port = 22;
String localFilePath = "c:/localfile.txt";
String remoteFilePath = "/home/user/remoteFile.txt";
JSch jsch = new JSch();
Session session = null;
try {
session = jsch.getSession(user, host, port);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect();
// Open SFTP channel
ChannelSftp channelSftp = (ChannelSftp) session.openChannel("sftp");
channelSftp.connect();
// Upload file
channelSftp.put(localFilePath, remoteFilePath);
channelSftp.disconnect();
session.disconnect();
} catch (JSchException | SftpException e) {
e.printStackTrace();
}
}
}
```
其中,在连接Linux服务器时需要指定用户名、密码、主机名和端口号,然后使用JSch的Session对象进行连接。连接成功后,使用SFTP的ChannelSftp对象上传和下载文件。