「自宅に開発用途でLinuxサーバーを構築し、これに外出先からもSSHで接続したい」と思ったのですが、ポート開放しての接続はセキュリティ的に不安でやりたくないのでVPNを使って接続できるようにしようと思います。とは言え、あまり設定が複雑で手間なのは避けたいし、無料で使えるのが必須かなと。
これらの条件を考えたときに無料VPNサービスの「Tailscale」が無料かつ簡単に使えるということで試してみました。
Tailscaleとは
Tailscaleは、Tailscale Inc. が提供しているVPNサービスです。
Tailscaleについてはこちらの記事「Tailscaleと言う恐ろしく簡単なVPNを見つけたんだが。。。」が詳しく書かれていました。概要をまとめると
- ゼロコンフィグ・自動設定で簡単
- エンドツーエンドで暗号化される
- WireGuardというプロトコルを使用
- 3ユーザー、100デバイスまで無料
というようになっていて、無料かつ簡単に使用できます。
完成図
完成時のイメージは以下のような感じです。インターネット越しでもTailscaleのVPN越しにSSHで自宅ネットワーク内のUbuntuに接続できるようにします。
設定
tailscale.comでの設定
https://tailscale.com/にアクセスして"Get started - it's free!"から始めます。
最初に導入するデバイスを選択します。
今回はUbuntuのサーバーに入れたいのでLinuxを選択します。
表示されているインストールコマンドをメモしておきます。
curl -fsSL https://tailscale.com/install.sh | sh
Ubuntuサーバー側の設定
先ほどのインストールコマンドを使ってUbuntuサーバーにTailscaleをインストールします。
以下のように実行されました。
$ curl -fsSL https://tailscale.com/install.sh | sh
Installing Tailscale for ubuntu noble, using method apt
...
略
...
Installation complete! Log in to start using Tailscale by running:
sudo tailscale up
指示通りsudo tailscale up
していきます。
$ sudo tailscale up
To authenticate, visit:
https://login.tailscale.com/a/aaaaaaaaaaaaaaaaaaaaaa
認証のため、表示されたURLにブラウザでアクセスします。
成功するとUbuntuサーバー側に"Success."と出ます。
$ sudo tailscale up
To authenticate, visit:
https://login.tailscale.com/a/aaaaaaaaaaaaaaaaaaaa
Success.
tailscaled.serviceが再起動時に立ち上げることも確認しておきます。
enabledになっているので大丈夫そうです。
$ systemctl status tailscaled
● tailscaled.service - Tailscale node agent
Loaded: loaded (/usr/lib/systemd/system/tailscaled.service; enabled; preset: enabled)
Active: active (running) since Sun 2025-06-29 12:17:47 JST; 15min ago
Windows側の設定
SSHのclientにするWindows側にも設定していきます。
tailscaleのサイトのほうにloginして表示されるURLを使ってTailscaleクライアントをダウンロードします。
指示に従ってインストールを進めてブラウザで認証すると終了です。
最終的にtailscaleのAdmin consoleに以下のように接続されているデバイスが表示されます。
この時点で表示されているIPを使って接続されているデバイス間からping等で疎通確認できます。
あとはAdmin consoleに表示されているIPを使ってVSCode等でSSH接続の設定をすればどこからでも接続できるようになりました。
まとめ
TailscaleのVPNサービスは設定も簡単ですぐに使用開始できました。費用も100デバイス・3ユーザーまで無料で個人利用には十分です。私と同じような用途でVPNをお探しの場合は利用を検討してみてください。