RustDesk 소개
오늘은 오픈소스 원격접속 소프트웨어인 Rustdesk를 소개하고, Docker을 이용한 셀프호스팅 방법을 소개해보려고 한다.
Rust언어로 작성되었으며, TeamViewer의 기능을 거의 다 지원하는 것 같다.
TeamViewer은 무료계정을 이용해서 여러 기기에서 많이 접속하면 계속 상업적 이용이라면서 계정이 잠겨서 사용할 수가 없었다. 그런데 RustDesk는 오픈소스에다가, 셀프 호스팅도 가능해서 보안에도 안전하다는 장점이 있었다.
TeamViewer에 비해 기능이 뭐가 부족했다면 망설였겠지만, 적어도 내가 쓰는 기능들은 부족함이 없었다.
RustDesk: 오픈 소스 원격 데스크탑 및 자체 호스팅 서버 솔루션
RustDesk는 자체 호스팅 서버 옵션을 갖춘 오픈 소스 원격 데스크톱 솔루션을 제공합니다. 안전하고 개인 정보 보호되며 사용자 정의 가능한 원격 액세스를 위한 완벽한 TeamViewer 대체품입니다. 전
rustdesk.com
Install
다운로드는 아래 링크에 들어가서 자신의 Os에 맞게 설치해 주면 된다.
Release 1.3.7 · rustdesk/rustdesk
Architecture Windows Ubuntu Mac Android Flatpak iOS Web x86-64 (64-bit) EXE MSI Download Download Universal Download Go AArch64 (ARM64) Download Download Download Download TestFlight A...
github.com
Usage
사실 다운로드하여보면 알겠지만, TeamViewer과 UI도 거의 동일하고, 직관적이어서 사용법을 설명할 것도 없다. (좌측이 팀뷰어 우측이 RustDesk)
그냥 접속하고자 하는 pc에서 접속하려는 pc의 ID와 PW를 입력하면 연결이 된다.

Self-Hosting
RustDesk의 가장 큰 장점은 아무래도 셀프 호스팅인 것 같다. 회사와 집에서 쓰는 것이기 때문에 또한 프로젝트를 하면서 자주 쓸 것이기에 보안에 대해서는 잘은 모르지만, 공개서버(프로그램 자체서버)보다는 개인서버가 나을 것 같다는 것은 분명하다.
또한 어려우면 시도조차 할 생각을 안 했겠지만, 가이드도 매우 자세하고 간단해서 바로 적용하였다.
우선 나는 Ubuntu 서버에 구축하였고, Docker을 이용하여서 그 기준으로 글을 작성하겠다.
Synology나 윈도에도 구축하는 법이 가이드에 잘 나와있으니 참고해 보면 될 것 같다.
Self-host :: Documentation for RustDesk
Self-host If you are using RustDesk you should have your own RustDesk Server, these docs will help you on your RustDesk journey. Support is available via our Discord for OSS and email for Pro. How does self-hosted server work? There are technically two exe
rustdesk.com
방화벽
우선 구축하고자 하는 서버의 방화벽을 열어줘야 한다. 각 OS별로 다르니 열여 주자.
- TCP
21115
: NAT 테스트용21116
: TCP 연결 서비스21117
: 릴레이 서비스21118
: 웹 클라이언트 지원21119
: 웹 클라이언트 지원- UDP
21116
: ID 등록 및 HeartBeat 서비스
포트포워딩
다음으로 만약 IP가 공유기를 사용하고 있어 사설 IP(192.168.x.x, 10.x.x.x 등)인 경우 포트포워딩까지 진행해줘야 한다.
나처럼 고정 IP를 가지고 있는 서버에 구축할 경우 따로 포트포워딩은 필요 없이 방화벽만 오픈해 주면 된다.
Docker
Docker설치에 관련한 것은 이 글에서는 다루지 않고, 이미 docker은 사용할 줄 안다고 가정하겠다.
빈 디렉토리를 하나 만들고, 해당 디렉토리에 아래 명령어를 통해 docker-compose.yml
을 받아준다.
wget rustdesk.com/oss.yml -O docker-compose.yml
다음으로 컨테이너를 올려준다.
docker compose up -d
컨테이너가 정상적으로 올라갔으면 방금 생성한 디렉토리에 생성된 data/id_ed25519.pub
을 열어준다.
여기 안에 작성되어 있는 것이 접속 key이다. 이것을 자신이 사용하려는 pc들에다가 전부 공유해 놓으면 된다.
접속
이제 RustDeSK 클라이언트를 열어주고 설정->네트워크->ID/릴레이서버
에 들어가 준다.
![[Pasted image 20250203111415.png]]
다음으로, ID서버
, 릴레이서버
에는 자신이 구축한 서버의 IP를 적어주고, Key
에는 아까 복사한 key를 적어주면 된다.
정상적으로 되었는지 확인하려면, RustDesk 클라이언트 홈화면 아래에 준비
라고 적혀있고 오른쪽에 자체 서버를 구축해라~ 이런 말이 없으면 된다.

추가 설정
영구 비밀번호
한번 연결해 놓으면 최근 접속한 pc의 기록은 남기 때문에 ID는 기억할 필요가 없는데, 일회용 비밀번호는 계속 바뀌기 때문에 외부에서 실제로 사용하려면 영구비밀번호를 설정해 놔야 언제든지 접속이 가능하다.
설정->보안에
들어가서 아래의 비밀번호 탭에서 영구 비밀번호 설정
을 눌러서 영구 비밀번호 설정을 해두고, 실제로 선택은 (임시/영구) 비밀번호 모두 사용
으로 해두는 것을 권장한다.

etc
추가로 ID서버가 뭔지, 릴레이 서버가 뭔지 잘 몰라서 ChatGPT가 해준 답변을 첨부한다.
서버 종류 | 역할 | 필요한 경우 | |
---|---|---|---|
ID 서버 (hbbs) | 클라이언트의 ID 관리, 연결 정보 제공 | 자체 네트워크에서 RustDesk 서버를 운영할 때 | |
릴레이 서버 (hbbr) | 직접 연결이 불가능할 때 중계 역할 | 호스트,클라이언트가 같은 네트워크가 아닐 때 |

How does RustDesk work?
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer. - rustdesk/rustdesk
github.com
마무리
가이드가 워낙 잘되어있기 때문에 공식가이드를 보는 것이 도움이 많이 되었다.
또한 추가설정도 자세하게 나와있으니 참고하면 좋을 것 같다.
Docs of RustDesk :: Documentation for RustDesk
RustDesk Documentation RustDesk is a full-featured open source remote control alternative for self-hosting and security with minimal configuration. You have full control of your data, with no concerns about security. The Client is open source and there’s
rustdesk.com
'알쓸신잡' 카테고리의 다른 글
Obsidian Icloud calendar 동기화 (0) | 2025.02.20 |
---|---|
Cursor + Ollama (0) | 2025.02.07 |
Cursor flask error: debug mode (0) | 2025.01.23 |
Docker 컨테이너와 파일 주고받기 (0) | 2025.01.20 |
옵시디언 - 플러그인 Bartender 폴더 순서 변경 (0) | 2025.01.07 |