가상환경 리눅스 vscode ssh원격접속(우분투에서 c, c++ 개발환경 구성하기(4))

재우·2022년 9월 10일
0

개발환경구성

목록 보기
4/4

안녕하세요.
오늘은 vscode에서 ssh로 리눅스에 접속하는것을 해보도록 하겠습니다.
제가 하려는것은 외부 ip에서 가상환경으로 ssh접속하는 것입니다. 즉 제가 밖에서 저희 집 desktop에 열려있는 가상환경으로 vscode를 통해 접속하는 것입니다.(일단 wol기능으로 외부에서 컴퓨터 전원을 켜는것을 전제로 하는 상황입니다. 이 wol기능은 나중에 다시 정리하도록 하겠습니다~.)
전체적으로 이것을 실현시키기 위해서는

1. 공유기 포트포워딩, 가상환경virtualbox 설정.
2. 우분투 내에서 포트개방 및 방화벽 설정.
3. vscode 에서 원격접속 설정.

이렇게 되겠습니다.

1. 공유기 포트포워딩, 가상환경virtualbox 설정.

자기 자신의 집에 공유기가 어떤 것인지 확인하고 설정페이지를 찾아 들어갈 수 있습니다. 이때 해당 공유기로 네트워크가 잡혀있어야 합니다.
저는 iptime 을 쓰고 있으므로 주소창에 192.168.0.1로 접속하면 iptime 설정 페이지로 들어갈 수 있습니다. iptime 이외의 공유기는 간단히 구글링을 부탁드립니다.

보통 초기 아이디 비번은 admin, admin 입니다.

관리도구로 들어가줍니다.

들어가서 고급설정 - NAT/라우터 관리 - 포트포워드 설정 으로 들어가주세요.

그리고 virtualBox 설정에 들어가 네트워크에 다음에 연결됨에 어댑터에 브리지로 변경해줍시다. 그 다음 가상환경을 시작하고 터미널에 들어가 ifconfig로 ip주소를 확인합니다.

enp0s3 두번째 줄에 inet 192.168.0.12 로 나오는것을 확인할 수 있는데, 이것이 내부 ip주소입니다. 그럼 아까 iptime 포트포워딩 설정으로 돌아가서 내부 ip를 맞게 설정하고 외부 포트 내부포트는 개인적으로 선택할 수 있으나 22번포트를 흔하게 사용하고 저는 둘다 22번 포트로 설정했습니다. 프로토콜은 TCP로 설정.
그러면 공유기 단에서의 설정은 완료되었습니다.

2. 우분투 내에서 포트개방 및 방화벽 설정.

ufw status
ufw enable
ufw allow 22

우분투 내에서 해당 명령어로 방화벽상태를 확인 -> 방화벽 활성화 -> 22번포트 개방 하시고 다시 ufw status 명령어로 상태를 확인해주면 됩니다. 루트 계정으로 실행해야한다고 나오면 앞에 sudo를 붙여주세요.

해당과정을 마치면 위의 사진 모습으로 상태가 나오게 됩니다.

3. vscode에서 원격 접속

일단 당연히 vscode는 깔려있다고 가정하겠습니다. 맥 기준 fn + F1 (F1) 누르면 아래 처럼 나오게 됩니다.

이부분에서 SSH 구성파일 열기를 합니다. 그리고 파일을 선택해주세요.

그럼 해당 형식으로 HostName 에는 외부 ip, Port에는 개방한 포트번호, User에는 ubuntu 계정이름을 넣어주고 저장해주면 됩니다. 자신의 외부 ip는 공유기 사이트에 다시 들어가서 확인할 수 있습니다.

iptime 기준으로 기본설정-시스템요약정보- 외부ip주소 확인

이렇게 config파일을 저장하셨으면 다시 fn+F1(F1)을 눌러서 원격-ssh:호스트에 연결을 눌러줍니다. 그러면 자신이 설정한 host이름이 뜨면 해당 이름을 열어주세요. 비밀번호는 ubuntu에서 설정된 비밀번호를 입력해주시면 됩니다.

그럼 아래와 같은 모습으로 vscode에서 ssh로 ubuntu에 연결한 모습을 확인할 수 있습니다. 해당 환경에서 ubuntu에 있는 파일을 vscode로 열어서 원격 작업을 할 수 있습니다. 이렇게 되면 ubuntu, linux환경에서 작업할 일이 있을 때 가상머신안에서 편집기를 켜서 작업하는 것이 아니라 vscode에서 코드만 수정하여 바로 빌드까지 하고 실행해볼 수 있습니다.

0개의 댓글