Ubuntu 22.04 에서 FreeRDP 사용하여 RDP 접속하기

리눅스/OS 일반|2024. 6. 3. 16:52
반응형

FreeRDP는 RDP(Remote Desktop Protocol) 를 구현한 오픈소스 소프트웨어로, 주로 리눅스 환경에서 원격으로 윈도우 서버나 PC에 접속할 수 있게 해주는 도구입니다. Ubuntu 22.04 에서도 FreeRDP 패키지를 설치하고 사용하여 원격 데스크톱 기능을 활용할 수 있습니다.

[ FreeRDP의 주요 기능 ]
- 원격 데스크톱 연결 : FreeRDP는 RDP 프로토콜을 사용하여 리눅스에서 원격으로 윈도우 시스템에 접속할 수 있게 해줍니다. 이를 통해 사용자는 GUI 환경에서 윈도우를 제어할 수 있습니다.
- 다양한 옵션 지원 : FreeRDP는 기본적인 원격 데스크톱 연결 외에도 오디오 재생, 클립보드 공유, 프린터 공유, 파일 공유 등의 기능을 지원합니다. 이를 통해 더 나은 원격 작업 환경을 제공합니다.
- 멀티플랫폼 지원 : FreeRDP는 리눅스, 윈도우, macOS 등 여러 운영체제에서 사용 가능하며, 다양한 버전의 RDP를 지원합니다.
- 보안 기능 : TLS/SSL을 통한 보안 연결을 지원하여 안전한 원격 접속이 가능합니다.

 

Ubuntu 22.04 환경에서 FreeRDP 를 설치 및 사용하는 방법입니다.

 

1. 설치

# apt-get update
# apt-get install freerdp*

 

2. 사용

# xfreerdp /v:192.168.10.2 /u:administrator /w:1280 /h:1024 /bpp:32 /drive:shared,'/home/sysdocu/문서' /rfx /gfx /compression /clipboard /audio /microphone /printer &> /dev/null &

 

- RDP 서버 IP 와 계정 이름을 입력하고 화면 사이즈를 정할 수 있습니다.

- 필요한 옵션을 나열하면 해당 기능을 사용할 수 있습니다.

- 공유 디렉토리 옵션에서 shared, 를 제외하고 /drive:'/home/sysdocu/문서' 라고 사용시 읽기전용이 됩니다. (shared 가 있으면 쓰기권한 부여 포함)

- 마지막에 &> /dev/null & 부분은 출력되는 Warning 이나  Error 가 출력되지 않게 하려는 것인데, 처음 접속하는 서버의 경우 인증서를 저장할지 여부를 물어보기 때문에 한 번은 생략하고 실행해야 합니다. 그 이후에 파란색 부분을 추가하면 화면에 출력되는 글자 없이 깔끔히 명령이 실행되어 집니다. 

 

* 참고

 

운영체제 자체에서 공유디렉토리의 파일은 보안상 실행권한을 빼기때문에 파일 최대 권한이 666 (rw-rw-rw-) 까지밖에 되지 않습니다.

(xfreerdp 실행전 umask 0000 하면 파일은 666, 디렉토리는 777로 생성됩니다)

$ umask 0000
$ xfreerdp /v:192.168.10.2 /u:administrator /w:1280 /h:1024 /bpp:32 /drive:shared,'/home/sysdocu/문서' /rfx /gfx /compression /clipboard /audio /microphone /printer &> /dev/null &

 

그래서 모든 생성파일에 777권한을 줘야한다면 별도의 파일을 만들어 백그라운드로 돌리면 됩니다.

$ cat << 'EOF' > ~/watch_permissions.sh
#!/bin/bash
WATCH_DIR="/home/cdh/문서"
# 디렉토리 감시 시작
inotifywait -m -e create -e moved_to --format '%f' "$WATCH_DIR" | while read NEW_FILE
do
    # 파일이 생성되면 777 권한 부여
    chmod 777 "$WATCH_DIR/$NEW_FILE"
    echo "권한 변경 완료: $NEW_FILE"
done
EOF


$ chmod +x ~/watch_permissions.sh

 

$ nohup ~/watch_permissions.sh > /dev/null 2>&1 &

반응형

댓글()