윈도우 하위 리눅스 시스템 게스트VM에 원격접속이 가능한 날이 왔네요. 여기에서는 WSL2에 게스트VM으로 칼리리눅스(Kali Linux)가 설치된 상태에서 xrdp 원격접속이 가능하도록 설정해보겠습니다. WSL2 설치 방법 / 리눅스 설치방법 / 윈도우용 터미널 설치 방법은 아래 링크를 참고해주시기 바랍니다.

  ※ 윈도우(Windows) 10에 Linux용 Windows 하위 시스템(WSL) 설치
  ※ 윈도우(Windows) 10 터미널 설치 및 설정

 

◎ 요구사항
 > Windows 10 또는 11 최신 업데이트 설치 및 WSL2 설치
 > Kali Linux 게스트VM 설치 및 WSL2 적용

◎ Update apt

sudo apt update && sudo apt -y upgrade

 > 패키지 목록을 최신으로 갱신하고 갱신된 최신 패키지들을 설치합니다.

◎ 기 설치된 xrdp 삭제

sudo apt-get purge xrdp

 > 기 설치된 xrdp 패키지와 환경설정 모두를 삭제합니다.


◎ xfce 설치

sudo apt-get install -y xfce4 xfce4-goodies

 > xfce4는 Xfce 경량 데스크탑 환경을 제공하는 메타 패키지입니다.
 > xfc4-goodies는 Xfce 4.x 시리즈의 일부로 포함되지 않은 플러그인, 독립 실행형 애플리케이션 및 아트워크 세트를 제공하는 또 다른 메타 패키지입니다.

◎ xrdp 설치

sudo apt-get install xrdp

 > 원격데스크톱을 설치합니다.


◎ 원격 포트 변경(3389 to 3390)

sudo cp /etc/xrdp/xrdp.ini.original /etc/xrdp/xrdp.ini
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini

 > 포트 및 해상도를 변경합니다.

◎ RDP 네트워크 구성 변경(IPv6 to IPv4)

sudo nano /etc/xrdp/xrdp.ini

 > 'port=3390' 를 'port=tcp://:3390' 로 변경합니다.
 > 설정을 변경하지 않으면 IPv6로 네트워크 서비스가 동작해서 원격접속이 불가합니다.


◎ xrdp 설정 변경

sudo nano /etc/xrdp/startwm.sh

 > 다음 두 줄을 주석 처리합니다.

test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession

 > 각 줄의 시작 부분에 "#"을 추가합니다.

# test -x /etc/X11/Xsession && exec /etc/X11/Xsession
# exec /bin/sh /etc/X11/Xsession

 > 마지막 줄에 다음 2줄을 추가합니다.

test -x /usr/bin/startxfce4 && exec /usr/bin/startxfce4
exec /bin/sh /usr/bin/startxfce4

 

◎ 서비스 등록 및 해제

sudo systemctl enable dbus
sudo /etc/init.d/dbus start
sudo /etc/init.d/xrdp start

 > systemd 에 dbus service를 등록합니다.
 > dbus : Linux용으로 개발된 IPC(Inter-Process Communication) 및 RPC(Remote Procedure Calling) 메커니즘입니다.
 > dbus 및 xrdp를 실행합니다.

◎ xrdp 상태확인 (선택)

sudo /etc/init.d/xrdp status

 > xrdp 서비스가 정상적으로 동작하는지 상태를 확인합니다.

◎ 서비스포트 확인

# netstat -ptan | grep xrdp
tcp        0      0 0.0.0.0:3390            0.0.0.0:*               LISTEN      2279/xrdp
tcp6       0      0 ::1:3350                :::*                    LISTEN      2274/xrdp-sesman

 > 리눅스 게스트VM에서 서비스포트를 확인합니다.

C:\> netstat -an | findstr "3390"
TCP    127.0.0.1:3390         0.0.0.0:0              LISTENING

 > 윈도우에서 서비스포트를 확인합니다.

◎ xrdp 데몬 자동실행 추가

sudo nano ~/.bashrc

 > 하단에 sudo /etc/init.d/xrdp start 추가합니다.

◎ 윈도우에서 리눅스 게스트VM 원격서비스 접속 

 > mstsc를 실행하고 localhost :3390 를 입력합니다.
 > 원격 데스크톱 연결 화면에서 username와 password를 입력하고 윈도우에서 리눅스를 즐기세요~

+ Recent posts