JEon.E
일단 ML 엔지니어 생존일지
JEon.E
전체 방문자
오늘
어제
  • 분류 전체보기 (164)
    • 논문 스터디 (8)
      • 논문 구현 (0)
      • Code-LLM (0)
      • ML attack (6)
      • Fuzzing (2)
    • 동향 및 조사 (3)
    • Stack Overflow (6)
    • Setting Tips (14)
    • ML 엔지니어링 (1)
      • AI Math (0)
      • Pytorch (1)
    • 알고리즘 (132)
      • 이론 (8)
      • 문제풀이 (105)
      • 삼성 기출 문제풀이 (18)
    • Hack (0)
      • 해킹 맛보기 (0)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 네이버 부스트캠프
  • 강화학습
  • Fuzzing 동향
  • keras
  • 다시
  • 프로그래머스
  • 크루스칼
  • 시뮬레이션
  • BFS
  • dp
  • Graph
  • 백트래킹
  • 그래프
  • Adversarial Defense
  • greedy
  • dfs
  • BOJ
  • 플로이드-워샬
  • 구현
  • NLP black-box attack

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
JEon.E
Setting Tips

외부에서 서버와 SSH를 통해 visual studio code 원격 연결하기

외부에서 서버와 SSH를 통해 visual studio code 원격 연결하기
Setting Tips

외부에서 서버와 SSH를 통해 visual studio code 원격 연결하기

2022. 1. 30. 18:43

원래는 git으로 코드를 작성하고 서버에서 받아 실험하는 구조를 사용하였으나... 짜잘한 수정 후 계속 push하는 방안은 불편하다고 여겨졌다.. 불편하기도 하고..

미루고 미루다 바로바로 실험 코드를 작성하고 실행할 원격 개발 환경을 구축해놓으면 좋겠다 싶어 vscode로 원격 개발을 시도해보았다.

 

미리 언급하자면..만일 학교나 회사에 있는 서버가 대상이라면.. 학교나 회사에서 포트를 허용하지 않았다면 외부망에서는 연결이 안되니 참고하자. 

 

본 방법은 ubuntu 20.04에서 수행되었다.

 

 

A. IP 고정하기(공인 IP가 아닌 공유기를 사용하고 있을 경우 해당)

  1. 먼저 우분투 세팅창에 들어가자. 들어가서 네트워크 탭에 들어가면 이더넷을 설정할 수 있는 설정 버튼(톱니바퀴)이 보인다. 해당 버튼 클릭 
  2. Details 탭에서 내게 해당되어있는 내부 IP를 기억해둔다.
  3. IPv4 탭에서 IPv4 Method가 DHCP로 설정되어있을 경우, Manual로 바꾸고, A-2.에서 확인한 IPv4 주소를 주소에 작성한다. netmask는 255.255.255.0, Gateway는 대략 ip주소에서 마지막을 1로 설정해주면 된다.
  4. DNS 서버까지 설정해주고 적용하면 IP 주소 고정 완료! 

 

 

 

B. 외부 접속 허용을 위한 포트 포워딩하기(공인 IP가 아닌 공유기를 사용하고 있을 경우 해당)

  1. 공유기 관리 페이지로 들어가자. 공유기 관리페이지는 서버에서 192.168.0.1로 들어가면 된다. 만일 별도로 패스워드를 바꾸지 않았다면 패스워드는 아이디와 동일하게 admin이다.  
  2. 공유기 관리 페이지에 로그인해서 설정으로 들어가면 다음과 같은 탭을 확인할 수 있다. 포트 포워딩 탭을 클릭하자.
  3. add new rule을 클릭하면 아래와 같이 내부 IP와 포트를 작성할 수 있는 란이 나타난다. Rule Name, 내 고정 내부 IP 주소(A에서 설정한 IP주소)를 작성하고 port번호는 사용하고 있지 않는 22222같은 포트 번호를 설정해주면 된다. external port, internal port까지 모두 작성해주자. (사용하고 있는 port번호는 netstat -tulpn 명령어를 통해 터미널에서 확인할 수 있다. sshd만 한정해서 보려면 netstat -ntlp | grep sshd netstat 명령어는 sudo apt-get install net-tools를 통해 설치할 수 있음) 
  4. 그 후, apply하면 포트 포워딩도 끝났다. 

 

 

 

C. 내 서버에서 SSH 서버 설치하기

  1. ubunt terminal에서 하단의 명령어로 Open SSH server를 설치해주자.
    $ sudo apt update​
    $ sudo apt install openssh-server
  2. SSH 실행여부는 systemctl status ssh 명령어를 사용했을 때 active 표시 여부로 알 수 있다. 
  3. 만일 실행중이 아니라고 뜬다면 하단 명령어로 실행하자.
    $ sudo systemctl enable ssh
    $ sudo systemctl start ssh​
  4. 현재 openssh-server는 기본 포트번호인 22로 되어있으니 포트포워딩을 통해 지정한 포트번호로 변경할 필요가 있다. \etc\ssh\sshd_config파일에 들어가 Port를 22에서 변경한 포트번호로 수정해주자.
    $ sudo vi /etc/ssh/sshd_config​
  5. 방화벽이 ssh와 포트번호를 허용하도록 변경해주자.(방화벽이 허용한 포트번호는 sudo ufw status numbered를 통해 확인할 수 있다.)
    $ sudo ufw allow ssh
    $ sudo ufw allow 포트번호/tcp​
  6. 포트번호가 적용되도록 ssh 서버를 다시 시작해주자.
    $ sudo systemctl restart ssh
  7. 다음과 같은 명령어로 ssh 서버에 접속할 수 있다. (공유기 IP주소는 curl ifconfig.me 명령어를 통해 확인할 수 있음)
    $ ssh 계정id@공유기 IP주소 -p포트번호​
     

(ssh 서버 연결시 기본으로는 비밀번호로 설정되어있으나 보안적으로 취약하니 암호키로 변경하는 것이 좋다. )

 

 

 

D. VSCode로 ssh 서버 원격 연결하기

  1. vscode 내 확장(extension)탭에서 Remote-SSH를 설치한다.   
  2. 설치시 다음과 같은 아이콘이 탭에 추가되는 걸 확인할 수 있음. 해당 탭을 클릭하자.
  3. SSH TARGETS에 마우스를 올리면 생기는 +버튼을 클릭시 다음과 같은 입력란이 나타난다. C-7에서 입력했던 것과 같이 port번호까지 입력해주자. 
  4. 옆에서 호스트 이름으로 SSH TARGET 인스턴스 하나가 생성된다. 해당 인스턴스 옆에 나타나는 다음과 같은 아이콘을 클릭하자.
  5. 새창에서 자동으로 SSH 서버와 연결해준다. SSH 서버가 연결되면 원격으로 개발이 가능해진다!! 

 

 

 

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Setting Tips' 카테고리의 다른 글

vscode liveshare로 원격 코딩하기  (0) 2022.04.20
Conda 가상환경 설정 옮길 때 팁  (0) 2022.04.14
공유기 IP 고정하기  (0) 2022.03.28
아나콘다 tensorflow-gpu 가상환경 버전 맞추어 설치하기  (0) 2021.12.03
크롬 원격 데스크탑 & 아나콘다 환경 구축(ubuntu 20.04 기준)  (0) 2021.07.19
    'Setting Tips' 카테고리의 다른 글
    • Conda 가상환경 설정 옮길 때 팁
    • 공유기 IP 고정하기
    • 아나콘다 tensorflow-gpu 가상환경 버전 맞추어 설치하기
    • 크롬 원격 데스크탑 & 아나콘다 환경 구축(ubuntu 20.04 기준)
    JEon.E
    JEon.E
    ML Security Engineer로 살아남기 도전중
    일단 ML 엔지니어 생존일지ML Security Engineer로 살아남기 도전중

    티스토리툴바

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.