-
[모각코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 클래스를 생성한다
- 접속 아이디, 주소, 포트를 설정하여 세션을 얻는다.
- 세션에서 사용할 비밀번호를 설정한다.
- 세션을 연다
- 원하는 채널을 열고 실행한다.
- 채널을 닫는다.
- 세션을 닫는다.
- Session : Session은 SSH 서버로의 연결이다. 하나의 세션은 여러개의 채널을 가질 수 있다.