ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [모각코14주차] 결과
    카테고리 없음 2022. 10. 9. 13:31

    SSH 접속

    Jsch란 ?

    자바에서 sftp/ssh 를 활용하여 원격으로 서버에 접속할 수 있게 하는 오픈소스 라이브러리이다.

    알아야 할 용어 및 개념

    • Session : Session은 SSH 서버로의 연결이다. 하나의 세션은 여러개의 채널을 가질 수 있다.
      • Session.connect() 로 SSH 서버에 연결한다.
      • Session.openChannel(String type) : type에 맞는 새로운 채널을 만들어주는 메서드
    • Channel : session으로 생성된 연결로 실제 원격으로 동작하도록 하는 클래스
      • Channel 클래스 : 채널의 추상클래스로 여러 구현체들을 통해 동작함
      • ChannelExec : 원격으로 프로그램을 실행시키기 위한 채널이다
      • Channel channel = session.openChannel("exec"); //채널접속 ChannelExec channelExec = (ChannelExec) channel; //명령 전송 채널사용 channelExec.setPty(true); channelExec.setCommand("netstat -tnlp"); //내가 실행시킬 명령어를 입력 channel.connect(); //실행
      • channelShell : 셸 방식으로 접속해서 프로그램을 실행시키기 위한 채널이다.
    • InputStream : SSH 서버로부터 들어오는 InputStream, 실행의 결과를 얻을 때 사용함
    • OutputStream : SSH 서버로 들어가는 OutputStream

    접속

    • Jsch 클래스를 생성한다
    • 접속 아이디, 주소, 포트를 설정하여 세션을 얻는다.
    • 세션에서 사용할 비밀번호를 설정한다.
    • 세션을 연다
    • 원하는 채널을 열고 실행한다.
    • 채널을 닫는다.
    • 세션을 닫는다.
Designed by Tistory.