[Visual Studio 2019] Visual Studio로 Linux 원격 개발하기(Ubuntu 설치부터 SSH 서버접속까지)

Visual Studio로 Linux 원격 개발하기(Ubuntu 설치부터 SSH 서버접속까지)

Update History

  • 2018.09.09 수정

열혈강의 TCP/IP 책을 공부하려는데 리눅스 얘기가 좀 많이 나왔다. 책이 아니더라도 서버로 Linux는 많이 쓰이니까 알아두면 좋을 것 같아서 Linux 환경을 세팅하고 공부하고 싶었따!

원래 가지고 있던 노트북이 두개였는데, 하나는 주로 쓰는 Windows10 깔린 게이밍 노트북이고, 또 하나는 옛날에 친철오빠가 안쓰는걸 줘서 문서용으로 고맙게 쓰다가 지금은 방치해둔 노트북이다.

방치해뒀던 옛날 노트북에 Ubuntu Desktop을 깔았다. 정말 아무것도 모르는 상태에서 시작하고, 아무것도 모르는 채로 포스팅하고 있으니 읽을 때 주의바란다..ㅠㅠ

준비물 컴퓨터 2대(Window, Linux 기반 OS)

Ubuntu 설치

Ubuntu Download 및 부팅 USB 만들기

설치는 Ubuntu 사이트 에 가면 USB 부팅디스크 만드는 법이랑 설치파일이 있다.

iso 파일을 받고, How to write a USB 링크에 들어가면 Rufus[^1]를 이용해서 부팅용 USB를 만들 수 있다. 링크에 자세히 나와있다.

Alternative downloads 에 들어가면 이전 버전의 Ubuntu를 설치할 수도 있다.

Ubuntu 설치

BIOS 설정에서 USB 부팅으로 변경

부팅용으로 만든 USB를 노트북에 꼽고, 컴퓨터를 키면서 F2(F12, F10, DEL… 키 일수도 있다. 메인보드 제조사마다 다름)를 누르면 BIOS 설정창에 들어온다.

거기서 USB로 부팅되게끔 설정을 바꿔준다. BIOS 설정창도 제조사마다 또 다르다.

Ubuntu 설치

부팅을 USB로 바꾼 후에 재부팅하면 Ubuntu 설치가 진행된다. 블로그에 올릴생각이 아니었어서 사진은 없당…. 설치 중에 입력한 사용자 이름이랑 비밀번호로 원격 접속을 할거니까 적당하게 잘 정해주도록 하자.

Windows만 썼는데 다른거 까니까 되게 신기하고 막 기분이상하다ㅠㅠㅠ감동?

언어 설정

일단 언어 설정부터했다 영어가 입력이 안됐었다ㅠㅠ..

시스템 설정->텍스트입력창 을 누르면 입력 소스를 추가할 수 있다. +버튼을 눌러서 영어(미국)을 추가하자! 만약 언어가 설치안되었다면 시스템설정->언어지원에 가면 설치할 수 있다

SSH 서버 열기

이제 터미널 창을 열어야지!!! 했는데 난 윈도우밖에 안써봤다.. 어떻게 열지? 할땐 구글링…

  • Ctrl + Alt + T 를 누르면 열리니까 참고하자

vim 에디터 설치

그럼이제 SSH 서버를 열건뎅 그전에 vim 에디터[^2]를 설치했다. 설치 방법은 Ubuntu에 vi(vim)에디터 설치 를 참고했다. 세상엔 친절한 사람이 정말 많다..감사합니다

SSH(Secure Shell) 란?

SSH 서버를 설치하기 전에 잠시 ssh 가 뭔지 집고 가자.

시큐어 셸(Secure Shell, SSH)은 네트워크상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다.

 

출처 Wiki

텔넷과 마찬가지로 원격 접속을 위한 프로토콜이며, 텔넷의 보안상 문제를 해결하기 위해 나왔으다. 텔넷은 23번, SSH는 22번 포트를 이용한다.

SSH Server 설치 및 설정

SSH 설치와 설정에는 SSH(Secure SHell) 설치와 사용법(Ubuntu) 를 참고했다.

SSH Server 설치

먼저 ssh Server를 설치하기 위해서 터미널에 아래 명령어를 입력했다

1
sudo apt-get install openssh-server g++ gdb gdbserver

설정

그리고나서 설정파일을 수정했다. 아래 명령어를 치면 설정파일을 열 수 있다.

1
sudo vim /etc/ssh/sshd_config

vi 에디터에서 i 를 누르면 수정이 가능하고, esc를 누르고 :wq! 를 치면 저장하고 나갈 수 있다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

Port 는 22로 되어있을건데, 굳이 바꾸지 않아도 된다. 나는 심심하니까 바꿨다.

PasswordAuthentication 을 yes로 해야 사용자 비밀번호로 들어올 수 있다. 보안 문제로 비밀번호로 들어오는 것보다는 공개키 인증방식을 권장한다고 한다. 하지만 나는 공유기 내부에서만 쓸 것이고, ssh server를 그리 자주 열어두지 않을 것이므로 편하게 비밀번호로 했다.

설정 수정이 끝났으면 ESC + :wq! 로 나가자.

SSH Server 열기

ssh server 설치와 설정이 끝난 후에 터미널 창에서 명령어를 입력하면 서버를 열 수 있다. 서버를 여는 데는 아래 명령어들이 사용된다. 차례로 입력해주자.

1
sudo service ssh restart

서비스 재시작

1
2
sudo ufw enable
sudo ufw allow (설정한 포트번호)

방화벽을 활성화하고, 포트를 열어준다

명령어가 헷갈릴 때는 sudo ufw help 였던가?? 아무튼 언제나 help 를 대충 붙여보면 명령어들을 알려준다. 잘 까먹는 편이라 명령어로 해야할 때는 help를 참 자주쓴다..

IP 확인

터미널에 접속하기 위해서는 IP주소가 필요한데, Ubuntu 터미널 창에 ip addr을 입력해서 접속할 IP를 확인하자. 127.0.0.1은 루프백이고 좀 아래쪽에 IPv4 주소가 나올거다.

Visual Studio SSH 개발

Visual Studio 원격 접속 방법이나 VS로 디버깅하는 법은 VS2017을 사용하여 리눅스 프로그래밍하기 를 참고했다. 디버깅하는 법이나 라즈베리파이 관련해서 자세히알려주시니까 한번 들어가보면 조켓다! 감사합니다 ㅎㅎㅎ

Linux 개발환경 설치

그럼이제 Windows 컴퓨터로 돌아와서 열어놓은 SSH 서버로 원격개발을 해야하는데 먼저 Visual Studio 2017 Installer 를 열어서 Linux 개발환경을 설치한다

원격 시스템 연결

그리고나서 Visual Studio를 열어서 디버그->옵션->플랫폼간->연결관리자 에 들어간다. 거기서 추가를 누르면 원격 시스템에 연결할 수 있다. IP, PORT, 그리고 Ubuntu OS를 설치할때 등록한 사용자(싫으면 다른 사용자..)이름이랑 암호를 넣어준다

Linux 프로젝트 생성

새프로젝트를 만들때 플랫폼간->Linux로 생성하면 Linux 코드를 짤수있다. 빌드한 코드는 Ubuntu 노트북에 쏚쏚 들어오는데 그 경로는 프로젝트 속성에 나와있다. 기본적으로 홈/projects/(프로젝트이름) 으로 생긴다

아! 실행했을때 printf 한게 안보여두 당황하지말고 Visual Studio의 디버그->Linux콘솔을 열어 확인하자

헤헤 이러케 설정을 마치고 네트워크프로그래밍 공부하는데 신기하당! 컴두개켜놓고 실행해보니까 쿨러 도느라 덥고..폭염이고 여기서짠 코드가 저기서 돌아가고 해서 신기하다!

포스팅이 처음부터 끝까지적느라 내용이 많이 부족하므로 링크 들어가서 다른분들 글을 좀더 참고하기를 추천드린다

책따라서 공부좀 하다가 어느정도 좋아지면 윈도우랑 Linux 둘다 돌아가는 코드를 짜볼 예정이다!


[^1]: 부팅 가능한 USB를 만들어주는 Windows 용 오픈소스 프로그램
[^2]: vi 호환 텍스트 편집기. 줄번호, 문법 강조, 유니코드를 비롯한 다국어 지원 등의 기능을 갖춤.

[출처] https://hjjjong0811.github.io/2018/07/21/programming/180721_VisualStudio_Linux_%EC%9B%90%EA%B2%A9%EA%B0%9C%EB%B0%9C/

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
226 [C/C++][tensorflow 1.x] windows C lib : [Tensorflow] How to Install Tensorflow for C API file 졸리운_곰 2021.11.19 10
225 [C/C++][tensorflow] tensorflovw 1.x version 텐서플로우 C 예제 file 졸리운_곰 2021.11.19 177
224 [Visual Studio][boost c++] [C++] boost 설치 및 visual studio 설정 file 졸리운_곰 2021.11.18 30
223 [리눅스 마스터][linux, UNIX] 전설의 라인 에디트 Man page — ED 사용법 졸리운_곰 2021.11.18 15
222 [리눅스 마스터][linux, UNIX] [편집][shell] ed (line editer) 사용예 졸리운_곰 2021.11.17 24
221 [C/C++][gnuplot][수학][MFC] Windows 환경의 C++ 언어에서 gnuplot을 사용한 그래프 출력 2 file 졸리운_곰 2021.11.12 310
220 [C/C++][gnuplot][수학][MFC] Windows 환경의 C++ 언어에서 gnuplot을 사용한 그래프 출력 file 졸리운_곰 2021.11.12 1040
219 [C/C++ 인공지능][linux][cuda] flashlight file 졸리운_곰 2021.11.09 16
218 [C/C++] C++ Basic Input/Output 졸리운_곰 2021.11.06 34
217 [C/C++] Console Input/Output Functions in C file 졸리운_곰 2021.11.05 18
216 [C/C++ 프로그래밍] CMake 예제 졸리운_곰 2021.11.04 26
215 C/C++의 만년, 패키지 매니저 file 졸리운_곰 2021.11.04 12
214 [docker][도커] 로컬 개발환경 Docker 사용하기 file 졸리운_곰 2021.10.16 14
213 [unix][linux][compiler] Yacc와 Lex 시작하기 file 졸리운_곰 2021.09.08 11
212 [Docker][도커] docker 이미지 및 컨테이너 관리 명령어 정리 file 졸리운_곰 2021.08.29 10
211 [docker][도커] 컨테이너 시작, 중지, 재시작 졸리운_곰 2021.08.29 9
» [Visual Studio 2019] Visual Studio로 Linux 원격 개발하기(Ubuntu 설치부터 SSH 서버접속까지) file 졸리운_곰 2021.08.29 8
209 [unix][emacs] 이맥스와 함께하는 개발환경 . emacs 튜토리얼 file 졸리운_곰 2021.08.18 94
208 [DOCKER] 도커_컨테이너 생성, 시작, 정지 file 졸리운_곰 2021.08.15 11
207 [쿠버네티스][Kubernetes] Helm 사용법 file 졸리운_곰 2021.07.19 27
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED