rustdesk »ç¿ë¹ý ÀϺΠÃß°¡

   Á¶È¸ 4757   Ãßõ 0    

처음 글 ( https://www.2cpu.co.kr/lec/4782 ) 에서는  저도 인터넷 어딘가 떠도는 글을 대충 요약한 느낌이라 실수가 조금 있었습니다 ^^

이번에는 공식 매뉴얼 위주로 좀더 간단한 설치/실행 방법을 정리했고요 ( 공홈에 설정이 더 간단한게 있었어요 ) 사용 팁 몇가지 더 추가했습니다.

먼저 docker-compose 최소 버전은 다음과 같습니다. 


1. ID서버만 사용하고 KEY 미사용시


공식 매뉴얼(?) 에 있는 내용입니다. - https://github.com/rustdesk/rustdesk-server

version: '3'

services:
  rustdesk-server:
    container_name: rustdesk-server
    image: rustdesk/rustdesk-server-s6:latest
    ports:
      - "21115:21115"
      - "21116:21116"
      - "21116:21116/udp"
      - "21117:21117"
    volumes:
      - ./data:/data
    restart: unless-stopped

방화벽(또는 공유기 NAT) 오픈 포트는 : 21115~7/tcp, 21116/udp 입니다. ( 공식매뉴얼 - https://rustdesk.com/docs/en/self-host/  )

이렇게 하면 rustdesk 에서 설정 > Network > ID 서버 부분에 위에 설치한 ruestdesk ip 를 입력하면 됩니다.

key 없어도 잘 되네요.


1. KEY 도 사용하고 싶을때

key 를 사용하면 3곳 (rustdesk서버, 원격받는pc, 원격하는pc) 의 key 가 정보 동일해야만 원격이 연결됩니다

포트open를 any ip 로 했을시 그냥 아무나 다 쓸 수 있는게 아니라 오직 key 를 아는 사람들만 사용할 수 있다는 부분이 장점이 되겠죠.

version: '3'

services:
  rustdesk-server:
    container_name: rustdesk-server
    image: rustdesk/rustdesk-server-s6:latest
    ports:
      - "21115:21115"
      - "21116:21116"
      - "21116:21116/udp"
      - "21117:21117"
    environment:
      - "ENCRYPTED_ONLY=1"     # key 가 반드시 맞아야만 통신 가능 옵션. 필요 없으면 주석처리
      # KEY 생성방법 - docker run --rm --entrypoint /usr/bin/rustdesk-utils rustdesk/rustdesk-server-s6:latest genkeypair
      - "KEY_PRIV=xcUxPmWWz0s9bzgYHlxWNiRo7Zw16Am7JoMwJx6PGnBcgCWth3deeWQALBeIvFk2NATtBrK4gRSZVJZHG0hWRQ=="
      - "KEY_PUB=XIAlrYUnXnxkACwRyLxZ2jQE7Qayi5dUmVSWRxtIVkU="
    volumes:
      - ./data:/data
    restart: unless-stopped


중요한 환경변수는 ENCRYPTED_ONLY=1 하나이며 ( KEY가 맞아야 한다는 옵션 )
KEY_PRIV, KEY_PUB는 굳이 설정하지 않아도 서버를 실행하면 자동으로 생성되며

cat ./data/id_ed25519.pub

하셔서 키를 확인할 수 있습니다 (PRIV가 개인키고 PUB 가 공개키로서 rustdesk app 사용시 입력할 key 입니다.)

해당 키를 다음과 같이 입력하여 사용합니다.


그럼 자동으로 생기는걸 굳이 환경변수로 설정을 했냐면요


3. 파일명 이름변경으로 자동 셋팅된 상태로 시작


먼저 키 생성은 간단하고요. ( 매뉴얼 - https://github.com/rustdesk/rustdesk-server?tab=readme-ov-file#how-to-create-a-keypair )

$ docker run --rm --entrypoint /usr/bin/rustdesk-utils rustdesk/rustdesk-server-s6:latest genkeypair
Public Key:  NP6+JkJqfUSqvHwonx0naBzlLEqRoQJglkjSWRvA08g=
Secret Key:  lXIq1cAwtyWWCkjLexfOQPKw/aGEV6wSdAVEyCeOK5o0/r4mQmp9RKq8fCifHSdoHOUsSpGhAmCWSNJZG8DTyA==

이걸 복사해서 사용하면 됩니다. 


그럼 여기 공홈의 내용 이런 내용이 있는데요 

https://rustdesk.com/docs/en/self-host/client-configuration/#5-put-config-in-rustdeskexe-file-name-windows-only

rustdesk 실행파일이 다운로드 받으면 이건데요.

rustdesk-1.2.3-2-x86_64.exe

파일 이름을 이렇게 수정하면 ( 가령 서버가 abcd.com 이고 key 가 NP6+JkJqfUSqvHwonx0naBzlLEqRoQJglkjSWRvA08g= 라고 할때

rustdesk-1.2.3-2-host=abcd.com,key=NP6+JkJqfUSqvHwonx0naBzlLEqRoQJglkjSWRvA08g=,.exe

이렇게 이름을 변경해서 사용하면 설정 > 네트워크 부분을 입력하지 않아도 위의 값이 자동으로 사용됩니다. 매우 편하죠^^


하지만 문제는 저 key가 문제인데 재수없게 슬래쉬 같은게 들어가면.. 윈도우에서는 파일명 변경이 불가능해집니다.

공홈의 가이드는 그런 글자(슬래쉬 같은거) 나오지 않을때까지  ./data/id_ed25519 , ./data/id_ed25519.pub 두개 파일 삭제하고 서버 재시작을  반복하라네요

저는 서버 반복 재시작 대신에 이 명령어를 반복 실행하여 깔끔한 키(슬래쉬 같은거 없는거) 를 찾아서 ENV 로 등록하는 방법을 사용했습니다.
docker run --rm --entrypoint /usr/bin/rustdesk-utils rustdesk/rustdesk-server-s6:latest genkeypair


참고로 key 를 사용하지 않는다면 파일명을 다음과 같이 하여 사용하셔도 잘 됩니다.

rustdesk-1.2.3-2-host=abcd.com,.exe


실제로 실행한 서버가 잘 접속하는지는 MS의 tcpview 를 사용하여 확인할 수 있습니다.  https://learn.microsoft.com/ko-kr/sysinternals/downloads/tcpview


4. 추가 팁

중요한 옵션 한가지

기본값은 체크가 안되어 있습니다.

rustdesk 로 원격접속시 저걸 체크하지 않으면 원격의 rustdesk 옵션을 변경할 수 없습니다 ㅠㅠ
다른 수단으로 해당 서버를 접속할 수 있다면 사실 상관은 없는데요. 그렇지 않은경우.
그러니깐 접속 수단이 restdesk 밖에 남지 않은 상황인데 저 옵션이 꺼져 있으면 난감할 수 있습니다. ( 현재 그 상황입니다 제가 아이고 )



윈도우인 경우 중요한 폴더 2가지

rustdesk-xxx.exe 를 실행하자마자

%USERPROFILE%\AppData\Local\rustdesk  -  이 폴더에 rustdesk.exe 같은게 자동으로 설치됩니다.
%USERPROFILE%\AppData\Roaming\RustDesk\config  - 이 폴더에 설정 값들이 파일 형태로 저장됩니다.

가령 위에서 만든 rustdesk-1.2.3-2-host=abcd.com,.exe 를 실행하면
%USERPROFILE%\AppData\Roaming\RustDesk\config\RustDesk2.toml 파일의 저 위치에 abcd.com:21116 이 자동으로 들어갑니다.


참고로 실행하자 마자 입니다. 설치를 하지 않아도 그냥 막 들어가요..
그래서 설정을 초기화 하려면 %USERPROFILE%\AppData\Roaming\RustDesk\config 폴더의 파일들을 전부 삭제해야 합니다.







dateno1 04-25
Å° ³»ºÎ ÀúÀå Ãßõ ¾È ÇÕ´Ï´Ù

¹ºÀÏ ÀÖÀ¸¸é ¹é¾÷/º¹±¸ ±ÍÂú°Åµç¿ä

À©µµ³ª ¸®´ª¿ë ¹ÙÀ̳ʸ® ¹Þ¾Æ¼­ ½ÇÇàÇϸé Å° ÆÄÀÏ »ý¼ºµÇ´Ï ±× ÆÄÀÏÀ» È£½ºÆ®¿¡ ÀúÀåÈÄ Docker ½ÇÇà ¿É¼ÇÀ¸·Î ¸µÅ©ÇÏ½Ã´Â°Ô ÃßõÀÔ´Ï´Ù (ÀÌ·¯¸é ±×³É ÆÄÀϸ¸ º¸°üÇÏ¸é µÇ°í, Docker À̹ÌÁö ¼³Ä¡Á¤µ· ½ºÅ©¸³Æ®·Î ÀÚµ¿È­ ÇÒ ¼ö ÀÖÀ¸´Ï ½ÇÁúÀûÀ¸·Î ÀüÀÚµ¿À¸·Î À缳ġ °¡´É)

Å° »ý¼ºÇÒ¶§ ÁÖÀÇÁ¡ÀÌ °¡²û À©µµÀÇ ÆÄÀÏ¸í¿¡¼­ Çã¿ë ¾È µÇ´Â ¹®ÀÚ°¡ µé¾î°¥¶§µµ ÀÖ½À´Ï´Ù

±×·²¶§´Â Å° Áö¿ì°í Àç½ÇÇàÇؼ­ ±¦ÂúÀ»¶§±îÁö »Ì±â ¹Ýº¹ÇØ¾ß ÇÕ´Ï´Ù
     
ĵÀ§µå 04-29
³Ü ¸Â½À´Ï´Ù. µ¥ÀÌÅÍ Æú´õ¸¦ ¹é¾÷ÇÏÁö ¾Ê°í docker-compose.yml ¸¸ º¸°üÇÏ´Â °æ¿ì ¼³Á¤ÀÌ ³¯¾Æ°¡´Ï »ç¿ëÇÏ´Â ¸ðµç Ŭ¶óÀ̾ðÆ®°¡ ¹ÌÀÛµ¿ÇÏ´Â ºÒ½Ö»ç°¡ ¹ß»ýÇÒ ¼ö ÀÖÁÒ.
Á¦°¡ Á¶±Ý »ç¿ëÀ» Çغ¸´Ï±ñ. (º»¹®¿¡µµ ÀÖ´Â ³»¿ëÀÌÁö¸¸) Å° »èÁ¦ / Àç½ÇÇà º¸´Ù´Â
docker run --rm --entrypoint /usr/bin/rustdesk-utils rustdesk/rustdesk-server-s6:latest genkeypair
ÀÌ ¸í·É¾î·Î ¿©·¯¹ø ½ÇÇàÇØ °¡¸é¼­ ±ò²ûÇÑ Å°¸¦ ãÀº docker-compose.yaml ¿¡ ȯ°æº¯¼ö ¹æ½ÄÀ¸·Î  ³Ö´Â°Ô °¡Àå ½±°í ÆíÇÑ°Å °°½À´Ï´Ù.
¸»¾¸ÇϽŴë·Î µ¥ÀÌÅÍÆú´õ ¹é¾÷µµ ÇÊ¿ä ¾ø°í docker-compose.yml  ¸¸ º¸°üÇØ µÎ¸é µÇ´Ï±î¿ä.
          
dateno1 04-29
±×·¯°íº¸´Ï ȯ°æ º¯¼ö·Î ³Ö´Â´Ù´Â ¼±ÅÃÁöµµ Àֳ׿ä (ÇÁ·ÒÆ÷Æ®·Î Å° ¸Ô¿©Áö´Ï)
witbox 04-25
Àúµµ 3¹ø Àß ¾²°í ÀÖ½À´Ï´Ù
     
ĵÀ§µå 04-29
¸Â¾Æ¿ä Àúµµ 3¹øÀ¸·Î ¾²°í ÀÖ½À´Ï´Ù.
KEY Çʼö ÀÏÄ¡ ¿É¼Ç ¾²°í ÀÖ½À´Ï´Ù. Á¦ÀÏ ÆíÇϳ׿ä^^


Á¦¸ñPage 1/28
11-30   985   ¼­¿ïI±èµ¿¼ö
11-18   1681   QS¿ÕÅëÅ°¼Õ¡¦
10-01   4007   ½ºÄµl¹ÎÇö±â
09-25   3600   rpki
09-15   6499   È­Á¤Å¥»ï
07-07   13960   ¹Ú¹®Çü
05-18   21938   »ßµ¹À̽½ÇÄÀÌ
04-15   24562   Fentanest
03-01   25347   tncsystem
02-22   26951   µö·¯´×¼­¹ö
02-08   29363   µö·¯´×¼­¹ö
01-25   19540   µö·¯´×¼­¹ö
01-23   18697   ĵÀ§µå
04-25   4758   ĵÀ§µå
01-11   11405   µö·¯´×¼­¹ö
01-05   9157   ¹Ú¹®Çü
2023-12   8810   inquisitive
2023-12   9582   µö·¯´×¼­¹ö
2023-12   9846   ÇѲ¿Çª
2023-12   7982   inquisitive