Rasberry Pi にTailScaleを導入してssh接続する

はじめに
Tailscaleは簡単にVPNを構築することができるサービス。
こちらの説明によると、
tailscaleは、アカウントに紐づいた通信デバイス同士をtailnetと呼ばれる仮想的なプライベートネットワーク内で相互接続します。 これにより、tailnetを通信インフラとした端末間のP2P通信を実現できます。tailnetはWAN上に構築されますが、通常のプライベートネットワークのように同一ネットワーク(tailnet)内に配置されたデバイス同士は 透過的なアクセスができる一方、外部ネットワークからtailnetへの能動的なアクセスはできません。これによって、遠く離れたデバイス同士も安全に通信することができます。
とのこと。そこで、手元のRasberry Piに導入してみた。
その手順を書き残す。
Rasberry Piへのインターネット接続設定
Raspberry Piのバージョン
- Raspbian GNU/Linux 10 (buster)
手順
マウスとキーボードが手元になかったので、
OS起動時のssh接続をできるように、micro SDカードのディレクトリ直下に「ssh」というファイルを作成
touch ssh
次にWiFiへの接続設定を書くためwpa_supplicant.conf
ファイルを作成。
touch wpa_supplicant.conf
その中身は、
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WiFiのSSID名"
psk="WiFiの暗号化キー(パスワード)"
}
とする。
それぞれの詳細は
- Wi-Fiの動作に関する国コードの設定
country=JP
- ?
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
- 設定ファイルの更新を有効
update_config=1
注意
- 最新のRaspberry Piのバージョンでbookwormでは上記の方法は使えないらしい(要確認)
TailScaleの導入
公式サイトを参考にする。
まず上記でssh接続できるようになったので、
ssh pi@raspberrypi.local
でログイン。
その後、コマンドからTailScaleをインストール。
curl -fsSL https://tailscale.com/install.sh | sh
そして、下記のコマンド実行時に表示されたリンクにアクセスしてアカウント連携を行う。
sudo tailscale up
成功すると「Success」と表示される。
下記のコマンドを実行するとTailScaleの使用するIPアドレスが表示される。
tailscale ip -4
TaleScaleを導入している別の端末からpingを飛ばすとVPN接続できていることがわかる。
ping 100.**.*.*** -c 5
これで、Raspberry Piに外部から簡単にssh接続できるようになった。

Android端末にTailScaleをいれ有効にすると、
Android向けターミナルエミュレーターアプリ「Termux」からRaspberry Piへssh接続できるようになった。