본문 바로가기

프로그래밍

[Tip.] Visual Studio에 WSL 연결하기

반응형

과제를 리눅스 환경에서 해야 한다던가, 백준의 채점환경에서 컴파일을 하고자 할 때 WSL에 코드를 붙여넣어 테스트를 해보곤 한다. 하지만 복사, 붙여넣기가 깔끔하게 되지 않아 주석을 모두 지우고 붙여넣어야 하는 수고로움이 있는데, 아에 비주얼 스튜디오에 WSL을 연동시키면 깔끔하지 않을까 싶어서 알아보니 방법이 있었다.

* 실은 1학년 전공 수업 때 배웠던 기억이 있다.

우선, 제어판에서 WSL 기능을 켜야 한다.

  1. 제어판에 들어간다.

  2. "프로그램" 메뉴를 클릭한다.

  3. "Windows 기능 켜기/끄기"를 누른다

  4. Linux용 Windows 하위 시스템"에 체크가 안 돼 있다면 체크를 한다.

이제, WSL을 설치한다. 이는 Microsoft Store에서 검색해 설치하면 된다.

여러가지 버전이 나열되어 있을텐데, 나는 그냥 이름이 깔끔한 Ubuntu를 설치했다.

실행을 하면 계정 이름, 비밀번호 등 간단한 설정 입력을 마치면 바로 사용할 수 있다.

이제 다음 명령어를 입력해보자.

sudo apt install openssh-server
sudo service ssh start

위 명령어는 잘 실행이 됐으나, 아래 명령어에서 오류가 발생한다.

* Starting OpenBSD Secure Shell server sshd
sshd: no hostkeys available -- exiting. [fail]

이럴 땐 다음 명령어를 입력 후 다시 sudo service ssh start를 입력해본다. 그럼 잘 될 것이다.

sudo ssh-keygen -A

다음 명령어를 입력하면 WSL을 재시작 할 때 자동으로 ssh 서버가 켜진다고 한다.

sudo systemctl enable ssh

그리고 이제, 몇 가지 설정을 해야한다. 먼저, 루트 계정으로 전환한다.

sudo su -root

다음 명령을 이어서 입력한다.

vi /etc/ssh/sshd_config

그리고 주석처리 돼 있는 Port 22Port 2222로 바꾼 뒤, 주석처리를 해제한다.

ListenAddress 0.0.0.0PasswordAuthentication yes도 주석을 해제한다.

이후, 비주얼 스튜디오에서 도구 > 옵션에 들어간다.

연결 관리자를 검색하여 선택한다.

그러면 다음과 같은 창이 뜬다.

호스트 이름은 localhost 또는 127.0.0.1로 입력하면 된다. 포트는 위에서 설정했던 2222로 입력한다.

사용자 이름은 whoami라는 명령어를 입력하여 나온 결과를 입력하면 된다.

암호는 WSL에서 쓰던 암호 그대로 입력하면 된다.

만약, 제대로 연결되지 않는다면 아래를 시도해보면 될 것이다. ssh를 재설치하는 명령어다.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get purge sshopen-server
sudo apt install sshopen-server

이제, 새로운 프로젝트를 만들어야 하는데 VS에 Linux 도구가 설치돼 있어야 한다.

VS에서 도구 > 도구 및 기능 가져오기 > 워크로드 > C++를 사용한 Linux 개발을 설치해줬다.

이제 새 프로젝트를 생성하자.

C++, Linux 필터를 설정하면 콘솔 애플리케이션이 하나 있다. 그걸 선택한다.

그러면 아래와 같이 새 프로젝트가 생성된다.

친절하게 나와있는 설명을 쭉 읽어보며 필요한 작업을 했다.

만약, 이 때 연결이 되지 않는 문제가 발생하면 아래를 확인해보라.

WSL에서 ssh localhost를 입력했을 때 아래 메세지가 뜰 수도 있다.

다음 명령어를 입력하면 해결될 것이다.

ssh-keygen -R localhost

이제 F5를 누르거나 위에 127.0.0.1 (x64) 버튼을 누르면 아래처럼 결과가 나온다. 끝.

반응형