개발자의 끄적끄적

[java & spring] jsch 이용해서 sftp 파일 업로드 예제(인증서 체크 무시)[펌] 본문

개발/java & jsp

[java & spring] jsch 이용해서 sftp 파일 업로드 예제(인증서 체크 무시)[펌]

효벨 2020. 1. 22. 03:00
728x90
반응형

[java & spring] jsch 이용해서 sftp 파일 업로드 예제(인증서 체크 무시)[펌]

 

jsch를 이용하면 정말 간편하게 sftp 프로세스도 처리할 수 있습니다.

다음은 sftp 파일 업로드 예제입니다.(인증서 체크 부분도 무시할 수 있습니다.)

도움이 되셨으면 좋겠습니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

import java.io.File;

import java.io.FileInputStream;

 

import com.jcraft.jsch.Channel;

import com.jcraft.jsch.ChannelSftp;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.Session;

 

public class Test {

    public static void main(String[] args) throws Exception {

        // 변수 설정 start

        String username = "root";

        String host = "192.168.0.226";

        int port = 22;

        String password = "passw0rd";

        

        String localFile = "C:\\test.txt"// 전송 파일 위치(로컬)

        String serverPath = "/usr/local"// 대상 디렉토리(서버)

        // 변수 설정 end

        

        File file = new File(localFile);

 

        System.out.println("=> Connecting to " + host);

         

        Session session = null;

        Channel channel = null;

        ChannelSftp channelSftp = null;

 

        FileInputStream in = null;

        

        JSch jsch = new JSch();

 

        try {

            session = jsch.getSession(username, host, port);

            session.setPassword(password);

         

            java.util.Properties config = new java.util.Properties();

            config.put("StrictHostKeyChecking""no"); // 인증서 검사를 하지 않음

            session.setConfig(config);

            

            session.connect();

 

            channel = session.openChannel("sftp");

            channel.connect();

 

            channelSftp = (ChannelSftp)channel;

            System.out.println("=> Connected to " + host);

 

            in = new FileInputStream(file);

 

            channelSftp.cd(serverPath);

            channelSftp.put(in, file.getName());

            

            System.out.println("=> Uploaded : " + file.getPath() + " at " + host);

        } catch(Exception e) {

            e.printStackTrace();

        } finally {

            try {

                in.close();

                channelSftp.exit();

                channel.disconnect();

                session.disconnect();

            } catch(Exception e) {

                e.printStackTrace();

            }

        }

    }

}

Colored by Color Scripter

cs



출처: https://nine01223.tistory.com/341 [스프링연구소(spring-lab)]

반응형
Comments