IntelliJ IDEA 원격 개발 연동하기

혹시 IntelliJ IDEA 원격 개발에 어려움을 겪고 계신가요. 원격 Backend 서버에 접속하는 방법을 알려드립니다.

원격 개발 서버는 꼭 리눅스를 사용하세요

원격 서버로 사용하는 머신이 Windows나 MacOS는 아직 지원을 하지 않습니다. 참고로 저의 개발 머신은 우분투 리눅스를 사용하고 있으므로, 가능합니다. Windows나 MacOS는 이후에 지원한다고 하니 참고하시기 바랍니다.

IntelliJ IDEA 원격 개발 연동 방법

Jetbrains에서 IntelliJ IDEA로 원격개발이 가능하도록 기능이 추가된지도 시간이 좀 흘렀습니다. 저는 종종 주 작업 장비에서 작업하지 못할 때 사용하는데, 꽤 유용합니다. IntelliJ IDEA 구독을 연장한 이유가 이것 때문이었습니다. 자, 각설하고 본론으로 들어가겠습니다.

SSH 키 생성

IntelliJ IDEA 원격 서버와의 연동은 ssh를 이용합니다. 따라서 ssh 키 쌍이 필요합니다. 그러므로 클라이언트의 ssh 개인키와 공개키 쌍을 만듭니다. ssh-keygen 후 경로의 조건을 변경하지 않으면, ~/.ssh 하위에 ~/.ssh/id_rsa 라는 private key가 생성되고, 이와 동시에 id_rsa.pub라는 공개키도 생성됩니다.

cd ~/.ssh
ssh-keygen
ShellScript

공개키를 서버에 등록하기

클라이언트의 공개키 ~/.ssh/id_rsa.pub의 내용을 서버의 ~/.ssh/authorized_key에 추가해 줍니다. 이렇게 해 두면 클라이언트에서 서버에 바로 접근할 수 있습니다. 말 그대로 해당 클라이언트의 공개키를 인증해 주었으니, 이제 클라이언트에서는 개인키로 해당 서버에 접근할 수 있게 됩니다.

vi ~/.ssh/authorized_key
ShellScript

IntelliJ IDEA 클라이언트 머신 설정

IntelliJ IDEA에서 Remote Development의 Connect via SSH를 선택합니다.

그림 1. IntelliJ IDEA 원격 개발 연동: Remote Development 진입화면
그림 1. IntelliJ IDEA 원격 개발 연동: Remote Development 진입화면

Connect to SSH 설정

Connection에는 New Connection을 선택해 주시고요, ssh 연결에 필요한 계정명 osolgil을 Username에, 주소 192.168.0.38은 Host에, ssh 포트 번호 22를 Port에 입력해 줍니다. 이제 우측 하단의 Check Connection and Continue를 선택해 줍니다. 이미 클라이언트의 공개키를 서버에 인증키로 등록해 두었으므로 별도로 private key를 선택하지 않아도 됩니다.

그림 2. SSH를 이용해서 연결
그림 2. SSH를 이용해서 연결

원격 서버 연결 성공

이제 성공적으로 연결됐다는 메시지와 함께 앞서 입력했던 접속 경로가 나오고, IDE 버전이 나옵니다. Back-end의 프로젝트 경로를 설정해 줍니다. 우측의 폴더 아이콘을 누르면 경로를 선택할 수 있습니다. 선택 후 우측 하단의 Download and Start IDE를 누르면 원격 IDE를 다운 받고, 프로젝트가 열립니다.

그림 3. IntelliJ IDEA 원격 접속 및 IDE 시작
그림 3. IntelliJ IDEA 원격 접속 및 IDE 시작

이제 모든 설정을 마쳤습니다. 원격 작업을 위한 IDE가 뜨면 원격으로 개발하시면 됩니다. 원격 서버의 파일이 실시간으로 변경되므로 매우 편리합니다.

원격 접속이 안 돼서 failed to connect to IDE backend connection refused와 같은 메시지가 나와서 어려움을 겪으신 분들께 도움이 되길 바랍니다.

혹시 위의 방법으로도 해결이 안 되는 분 계시면 댓글 남겨주세요. 최대한 도와드리겠습니다.

관련 자료

IntelliJ IDEA 개발사인 Jetbrains 홈페이지의 공식 문서 Remote development starting page를 참고하시면 도움이 될 것입니다.

같이 읽으면 좋은 글

Leave a Comment