WSL 은 Windows 10 에 새로 포함된 기능으로 오버헤드 없이 리눅스를 윈도우에서 사용할 수 있게 해줍니다.

설치

WSL 을 사용하려면 64 비트의 Windows 10 가 필요합니다. (출처)


  1. 먼저 "Linux용 Windows 하위 시스템"를 사용하도록 설정해야 합니다. PowerShell 을 관리자 권한으로 오픈한 후에 아래 명령을 실행합니다.

    Linux용 Windows 하위 시스템 활성화

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    POWERSHELL
  2. 또는 제어판 → 프로그램 → windows 기능 켜기/끄기에서 해당 기능을 켜도 됩니다.
  3. "Linux용 Windows 하위 시스템" 사용 설정이 끝났으면 PC 를 재부팅해 줍니다.
  4. 이제 "Microsoft Store" 앱에 연결한 후에 검색창에 Linux 를 입력하고 결과에서 설치할 리눅스 배포판을 선택한 후에 설치를 클릭해 주면 됩니다.
  5. 실행을 클릭하면 리눅스용 bash 가 실행되고 우분투 리눅스를 사용할 수 있습니다.


ssh 서버 구성

기본적으로 WSL 은 ssh server 가 구동되지 않으므로 ssh 로 접속할 수 없지만 아래 절차대로 설정하면 ssh 로 접속할 수 있습니다.

설명은 Ubuntu 리눅스 기준입니다.


  1. bash 를 실행해서 WSL 리눅스에 들어갑니다.
  2. 빠른 패키지 다운로드를 위해 ubuntu 미러를 국내 사이트로 변경합니다.

    curl -O https://gist.githubusercontent.com/lesstif/8185f143ba7b8881e767900b1c8e98ad/raw/54ceaed47410d64af25b1aaf691e4319c5daba4c/change-ubuntu-mirror.sh
    sudo bash change-ubuntu-mirror.sh
    CODE
  3. 패키지 정보를 업데이트합니다.

    sudo apt update
    sudo apt upgrade
    CODE
  4. openssh 서버를 재설치합니다.

    sudo apt remove openssh-server
    sudo apt install openssh-server
    CODE
  5. sshd 설정 파일은 /etc/ssh/sshd_config  를 편집합니다.

    ## 다른 포트를 사용할 경우 수정
    Port 22
    ## 
    PermitRootLogin no
    ## 
    PasswordAuthentication yes
    CODE
  6. 설정을 반영하기 위해 ssh 서버를 재구동합니다.

    sudo service ssh --full-restart
    sudo service ssh restart
    CODE
  7. 이제 ssh 로 연결해서 정상 설정 여부를 확인합니다.
  8. 정상 동작한다면 ssh 시작시 암호 입력을 안 하도록 sudoers 파일을 수정합니다.
    1. visudo 를 실행합니다.
    2. 아래의 추가 부분을 기존 sudoers 에 추가합니다.

      %sudo   ALL=(ALL:ALL) ALL
      
      ## 추가
      %sudo   ALL=NOPASSWD: /usr/sbin/sshd start
      CODE


wsl.conf 로 동작 제어

/etc/wsl.conf 

# Enable extra metadata options by default
[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
mountFsTab = true

# Enable DNS – even though these are turned on by default, we’ll specify here just to be explicit.
[network]
generateHosts = true
generateResolvConf = true
CODE



같이 보기

Ref