紹介#
RustDesk
は、使いやすいオープンソースで無料のクロスプラットフォームのリモートデスクトップソフトウェアです。MacOS
、Windows
、Android
のクライアントがサポートされています。これは、向日葵リモートデスクトップ
、ToDesk
などのリモートデスクトップサービスの代わりになります。データの完全な制御が可能で、セキュリティの問題を心配する必要はありません。公式の登録 / リレーサーバーを使用するか、独自のサーバーを構築することもできます。また、公式のコードを使用して独自のバージョンを開発することもできます。
サーバーのデプロイ#
環境の準備#
-
サーバーには Docker と DockerCompose の環境が必要です。
-
パーシステントディレクトリとコンポーズの記述ファイルを作成します。
# フォルダを作成する
mkdir -p /home/rustdesk-server
cd /home/rustdesk-server
mkdir hbbr
mkdir hbbs
# 記述ファイルを作成し、ステップ3の記述ファイルの内容を貼り付ける
vim docker-compose.yml
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: rustdesk-hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
# www.xxxaaa.cn:21117を自分のドメインに変更してください
# キーのないユーザーによる非暗号化接続の作成を禁止する場合、hbbsとhbbrを実行するときに-k _パラメータを追加してください
command: hbbs -r www.xxxaaa.cn:21117 -k _
volumes:
- ./hbbs:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: rustdesk-hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./hbbr:/root
networks:
- rustdesk-net
restart: unless-stopped
コンテナの実行#
docker-compose の一般的なコマンド:
# コンテナを実行する
docker-compose up -d
# コンテナを停止する
docker-compose stop
# コンテナを開始する
docker-compose start
# コンテナを再起動する
docker-compose restart
# コンテナをダウンする(削除する)
docker-compose down
サーバーの公開鍵の確認#
上記のdocker-compose
ファイルでは、強制的な鍵暗号化認証が有効になっており、サーバーに接続するためには正しい公開鍵を提供する必要があります。
以下は、docker-compose ファイルがあるフォルダのディレクトリ構造です。
.
├── docker-compose.yml
├── hbbr
│ ├── id_ed25519
│ └── id_ed25519.pub
└── hbbs
├── db_v2.sqlite3
├── db_v2.sqlite3-shm
├── db_v2.sqlite3-wal
├── id_ed25519
└── id_ed25519.pub
コンテナが起動すると、公開鍵と秘密鍵が自動的に生成されます。サーバーへの接続には、hbbs
ディレクトリ内のid_ed25519.pub
ファイルの文字列をコピーする必要があります。
鍵と公開鍵を変更する場合は、hbbs
フォルダ内のid_ed25519.pub
とid_ed25519
の 2 つのファイルを削除してコンテナを再起動するだけで、自動的に再生成されます。
クライアントの設定#
一般的な設定#
注意:被制御側はサーバーの IP アドレスの入力のみ必要であり、制御側は鍵を入力する必要があります。
クライアントの設定画面で、サーバーの IP アドレスと鍵ファイルを入力し、保存すると、クライアントが準備完了と表示されます。
自動設定#
鍵の検証は制御側が接続を開始する場合にのみ必要です。
これにより、被制御側を誰にでも送信できるようになり、鍵の漏洩や他の権限のないユーザーによる接続を心配する必要がありません。
設定が完了したら、被制御側をリモートで制御する必要がある人に送信するだけで、彼らはソフトウェアを開き、ソフトウェアの ID とパスワードを私たちに送信するだけで、リモートで彼らのデバイスを制御することができます。
無人で実行する必要がある場合、つまり、起動時にリモートソフトウェアを自動的に実行する場合は、被制御側ソフトウェアを直接開き、インストールをクリックするだけで、ソフトウェアと設定がデバイスに自動的にインストールされます。
クライアントが中継アドレスと鍵を手動で入力する必要がなく、ダブルクリックで実行するだけで使用できるようにするには、クライアントのファイル名を変更する方法があります。
クライアントを次のように名前を変更します:
被制御側
host=サーバーのIPアドレス,key=間違った鍵の内容.exe
例:host=129.129.33.8,key=111.exe
制御側
host=サーバーのIPアドレス,key=正しい鍵の内容.exe
例:host=129.129.33.8,key=4uZtPIYe4y344NP3IVc5SxRzKeiNn2lfen4tEY=.exe
注釈#
ポートの説明#
コンポーネント | 機能 | 使用するポート |
---|---|---|
hbbs | RustDesk ID 登録サーバー | 21115 (tcp):NAT タイプテストに使用 21116 (udp):ID 登録とハートビートサービスに使用 21116 (tcp):TCP ホールパンチングと接続サービスに使用 |
hbbr | RustDesk リレーサーバー | 21117 (tcp):リレーサービスに使用 |