본문 바로가기
  • 개발하는 곰돌이
Development/etc.

[IntelliJ] 인텔리제이의 Remote host를 사용하여 서버에 접속해보자!

by 개발하는 곰돌이 2023. 3. 9.

목차

    서론

    기존에 프로젝트를 진행하면서 Filezila를 사용하여 리눅스 서버의 파일을 관리하고, putty를 사용하여 리눅스 서버의 터미널에서 하는 작업을 진행했다. 그러다가 어느날 팀 동료가 작업하는 것을 봤는데 인텔리제이에서 리눅스 서버의 파일을 관리하고, 리눅스 서버의 터미널을 사용하는 것이었다!

     

    인텔리제이가 굉장히 많은 기능을 제공한다고는 하지만 이렇게 원격으로 서버에 접속하는 기능까지 제공한다는 사실에 적잖은 충격을 받았다. 그리하여 관련 내용들을 찾아 보고, 인텔리제이로 원격 호스트에 접속하는 방법을 정리한다. 

    기본 환경

    해당 내용은 IntelliJ IDEA Ultimate 2023.3.2 버전에서 진행하였으나 WebStorm, Pycharm, CLion 등의 JetBrains의 다른 IDE도 동일한 기능을 제공한다.

    Deployment 설정

    Tools → Deployment → Configuration... 순서로 들어가면 아래와 같은 Deployment 설정창이 나타난다. 여기서 왼쪽 상단의 + 버튼을 눌러서 새로운 서버 접속 정보를 추가한다. 이 글은 SFTP 기준으로 작성한다.

    추가할 서버의 유형을 선택하면 새로운 서버의 이름을 입력하고 OK 버튼을 클릭한다.

    서버의 별칭을 설정하면 위와 같은 창이 나타난다. Visible only for this project 옵션의 경우에는 활성화하면 원격 호스트 정보가 해당 프로젝트에만 나타난다.

    SSH 연결 정보 추가

    SFTP 방식으로 접속하기 위해서는 SSH 연결 정보를 선택해야하는데, 처음에는 아무런 설정이 존재하지 않으니 우측의 ... 버튼을 클릭하여 새로운 설정을 추가한다. ... 버튼을 클릭하면 아래와 같은 창이 나오는데, 위와 동일하게 왼쪽 상단의 + 버튼을 클릭하여 새로운 SSH 연결 정보를 추가한다.

    각 항목에는 다음 정보를 입력한다.

    • Host : 원격 접속할 서버의 IP 주소.
    • Port : 원격 접속을 위해 사용하는 포트 번호. SSH의 기본 포트는 22이다.
    • Username : 원격 접속할 서버의 사용자 이름.
    • Authentication type : Password, Key pair, OpenSSH config and authentication agent 중 본인의 상황에 맞는 인증 방식을 선택하고 인증 정보를 입력한다. 이 글에서는 Key pair를 사용했다.

    이곳에서도 Visible only for this project 옵션을 활성화하면 추가한 SSH 연결 정보가 해당 프로젝트에만 나타난다.

     

    모든 정보를 입력하고 Test Connection를 클릭하면 입력한 정보와 서버에 문제가 없다면 성공적으로 연결되었다는 알림창이 나타난다. 연결에 성공하였다면 OK 버튼을 눌러서 설정을 완료한다.

    Deployment 접속 테스트

    SSH 테스트 접속에 성공하였다면 OK 버튼을 눌러서 SSH 연결 정보를 선택하고, Deployment 설정에서 테스트 접속을 진행한다. 별다른 문제가 없다면 이 곳도 바로 통과될 것이다.

    추가 설정 정보 입력

    상단의 Mappings 탭으로 이동하여 Deployment path에 프로젝트를 원격으로 업로드 할 원격 서버의 경로를 입력하고 OK 버튼을 눌러 설정을 완료한다. 이 경우엔 빌드된 프로젝트만 서버에 업로드하기 때문에 대충 /만 입력했지만, 서버에 프로젝트를 통째로 업로드하여 작업해야 한다면 Local path의 파일을 업로드할 경로를 Deployment path에 입력한다.

    설정을 완료하면 인텔리제이 하단에 아래와 같이 추가한 Deployment가 표시될 것이다.

    서버에 접속하여 파일을 관리하기

    모든 설정을 마쳤으면 인텔리제이 우측 상단 또는 하단에 Remote Host라는 메뉴가 추가되었을텐데, 해당 버튼을 클릭한다. 만약 메뉴가 보이지 않는다면 Tools → Deployment → Browse Remote Host를 클릭하면 된다.

    Remote Host 메뉴가 보이지 않는다면 상단 메뉴에서 Browse Remote Host를 클릭하자.

    Remote Host를 클릭하면 아래와 같은 화면이 나타날텐데, <None>이 적힌 부분을 클릭하여 위에서 추가했던 Deployment 정보를 선택하면 해당 서버에 접속하여 파일들을 확인할 수 있다.

     

    만약 Remote Host에서 아래와 같은 화면이 아니라 Nothing to show가 나타난다면 인텔리제이를 재시작해본다.

    이제 Remote Host를 통해, 프로젝트 탐색기를 사용하는 것처럼 원격 호스트의 파일을 읽거나 추가 및 삭제할 수 있게 되었다.

    인텔리제이에서 SSH 연결으로 원격 호스트에 접속하기

    인텔리제이에서 SSH 연결을 통해 원격 호스트에 접속하여 터미널에서의 작업을 할 수도 있다. 먼저 Tools → Start SSH Session...을 클릭하면 아래와 같이 원격 호스트를 선택하는 작은 메뉴가 나오는데, 윗단계를 잘 수행했다면 추가했던 원격 호스트가 나타날 것이다.

    연결하려는 원격 호스트를 선택하면 인텔리제이 하단에 원격 호스트의 터미널이 열리면서 작업을 수행할 수 있게 된다!

    마무리

    인텔리제이는 사용하면 사용할수록 기존에 몰랐던 굉장히 많은 기능이 존재한다는 사실을 다시금 느끼게 되었다. 인텔리제이에는 기능이 없는게 아니라 못찾는것이라는 말이 있다는데 정말 그 말 그대로 생각치도 못했던 수많은 기능이 존재한다는 것을 알게 되었다.

     

    덩달아 기존에 사용하던 Filezila와 putty를 사용할 일도 많이 줄어들 것 같다.

    댓글