java8~
sftp 서버 연결
yongary
2025. 6. 17. 08:19
✅ 1. Maven 의존성 추가
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
✅ 2. Java 코드: SFTP 연결 + 로그인 + 설정
import com.jcraft.jsch.*;
public class SftpUploader {
public void connectSftp(String server, int port, String user, String pass) {
Session session = null;
ChannelSftp sftpChannel = null;
try {
JSch jsch = new JSch();
session = jsch.getSession(user, server, port);
session.setPassword(pass);
// 호스트 키 검증 비활성화 (테스트용, 실제 배포 시에는 키 검증 로직 필요)
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
log.info("SFTP Server: connected");
Channel channel = session.openChannel("sftp");
channel.connect();
sftpChannel = (ChannelSftp) channel;
log.info("SFTP Server: login OK");
// 여기에 파일 업로드/다운로드 코드 추가 가능
// sftpChannel.put(...);
// sftpChannel.get(...);
} catch (JSchException | SftpException e) {
log.error("SFTP 연결 오류", e);
} finally {
if (sftpChannel != null) {
sftpChannel.exit();
log.info("SFTP Channel: closed");
}
if (session != null) {
session.disconnect();
log.info("SFTP Session: disconnected");
}
}
}
}