AnyDeskの代替、TailScale+VNC

2023年3月22日

2022/11記:AnyDeskは現在推奨しない。リモートデスクトップまとめを参照されたい

AnyDeskを便利に使ってきたのだが、最近は、「ビジネスでお使いでしょうか?」の警告が良く出るようになってきた。

主には、すぐ隣にある常時電源ONのパソコンの操作のために、AnyDeskを使っているのであって、特にAnyDeskでなければならない理由はない。ただし、たまの出張時には、何も考えなくても同じ操作で、ノートパソコンからどこにいてもこのパソコンに接続できるので、非常に便利というところだし、ごくたまに他人のところに接続することがある位だ。

そこで、AnyDeskを捨てることにする。とは言っても、ごくまれ(一年に一度あるか無いか)に全く知らない人にAnyDeskを入れてもらい、その番号を教えてもらい操作することはあるため、AnyDeskのインストール自体はそのままにしておく。

AnyDeskの代替はあるか?

Top 10 AnyDesk Alternatives & Competitorsにある。

この種のソフトは今や様々あるようだが(以前はTeamViewer位しか選択肢がなかった)、コメントを読んでみると、「AnyDeskより高い」などがあり、面倒なのでこれは選ばないことにした。もっと良い方法があるのである。

VNCの問題

ずいぶんと昔からある同種のソフトとして、そのプロトコルが公開されたVNCというものがある。これをもとに、VNC、UltraVNC、RealVNC等が作られているのだが、基本的に同じプロトコルなので、例えば、Windows用のUltraVNCからLinuxのvnc-serverに接続するなどが簡単にできる。

その一方で、VNCの問題としては、基本的にポートを開けないといけない。なおかつ、悪いやつが入ってこれないようにパスワードを管理しないといけない。さらに、通信路を盗聴された場合には、暗号化されていないので、まる見えになってしまう点である。

したがって、オフィス内LAN、家庭内LANで作っている分には良いのだが、外出先から接続しようとすると、途端に面倒くさくなる。

ここでは、Tailscaleを使って対象のPCとのVPN接続を行い、その上でUltraVNCを使ってみる。

Tailscaleのすごさ

何と言っても、Tailscaleでは、ほとんど何の苦労もなくVPNを作れてしまう。そして、VPNを作ってしまえさえすれば、ポートオープンやら何やらも、(VNC自体の)パスワードの管理も、通信路の盗聴も、何も気にする必要はない。VPNに参加しているPCは、どれほど遠くにあろうとも、安全なオフィス内LANや家庭内LANにあるものとして扱えるからだ。

そして、VNCなどのリモートコントロールだけではなく、その他のサービス(例えば、暗号化無しのFTPやTelnet)も何も考えずに動作させることができる。

Tailscaleの使い方は、Tailscaleの使い方:概要からの一連の記事を参照されたい。

VNCのセットアップ

ここでは、Tailscaleが既にセットアップされており、MagicDNSによって、対象PCを名前でアクセスできるものとする。

つまり、持ち出し用のノートPCと常時電源ONの据え置きPCは、TailscaleのVPNに参加しており、それぞれを名前でアクセスできる。

ここで据え置きPCにVNCをインストールする。

Windows用に使えるVNCは多種類あり、この目的ではUltraVNCを使ってきたのだが、TightVNCの方が安定していることに気がついた。UltraVNCは、接続できているものの、全く操作できない状態になったりする。

基本的にVNCのプロトコルは互換性があるようで、例えばサーバ側がTightVNCで、それをクライアント側からUltraVNCでアクセスするということも可能だ。

クライアント側に拡張子.vncファイルを作成しておくと、そのダブルクリックだけでサーバに接続できるが、これもUltraVNCtごTightVNCで同じフォーマットのようだ。UltraVNCのクライアントで作成した.vncファイルをTightVNCのクライアントでも利用できる。

また、UltraVNCのクライアントよりも、TightVNCのクライアントの方が動作が軽い。

クライアントの接続方法と接続ファイルの作成方法は以下の通り。ただし、ultramanというのは、VPN上でのマシンの名前を表している。つまり、MagicDNS機能を使っているがゆえだ。