こんにちは!
SJC共同開発推進室の鈴木です。
今回は、前回の【モニターなしで簡単リモート操作!RaspberryPi設定のご紹介】(1)の環境構築の続きで、外出先など離れた場所からリモート接続する方法をシェアしたいと思います!まだ、(1)をご覧になられていない方は先にこちらの記事を読んでいただければ幸いです。
使用するソフトウェア
- tailscale
(簡単に設定できるVPNサービス)
Tailscaleと同じリモート操作ができるサービスとして、Raspberry Pi Connectというサービスがありますが、Tailscaleは簡単に始められる上に、いろいろな設定ができるのでとてもおすすめです。
Tailscaleは「ゼロトラストネットワーク」という仕組みで、すべての通信が認証・暗号化されます。これにより、外部からの攻撃だけでなく、内部からの脅威も防ぐことができます。また、TailscaleはWireGuardというシンプルで高速かつ安全なVPNプロトコルを使っているので、設定がとても簡単です。複雑なVPN設定をしなくても、すぐに安全な接続ができます。
さらに、Tailscaleは「ピアツーピア(P2P)接続」を利用しているので、通信の遅延が少なく、より高速で効率的な通信が可能です。Windows、Mac、Linux、iOS、Androidなど、いろいろなデバイスで使えるので、異なるデバイス間でのシームレスな接続ができます。
Tailscaleのインストール
PCにインストール
まずは、RaspberryPiをリモートで操作する端末にTailscaleをインストールしたいと思います。
TailscaleのWebサイトからまずはアカウントを作成します。
Googleアカウントなどのシングルサインオンに対応しており、各端末にTailscaleのクライアントアプリをインストールして起動し、アカウントにログインすると、自動的にデバイスが登録されます。
以下OSに対応しているため、多くの端末で利用することができます。
– iOS
– Android
– macOS
– Windows
– Linux
今回はWindowsを例にインストールして、起動します。
起動後にWebサイトで作成したアカウントでログインします。
Tailscaleは起動すると、バックグラウンドで動作し、タスクバーのインジケーターの欄に追加されます。
Tailscaleのアイコンを押下して、以下のように「Connected」と表示されているとtailnetに接続されている状態となります。
tailnetは、Tailscaleが作り出す、専用の安全なプライベートネットワークのことです。Tailscaleアプリをインストールしてログインした複数のデバイスが、この仮想的なネットワーク内で相互に接続されます。
RaspberryPiにインストール
次に、RaspberryPiにインストールします。
RaspberryPiにSSHで接続して、以下のコマンドを実行します。Linuxの場合このコマンドを入力するだけでインストール可能です!
1 |
curl -fsSL https://tailscale.com/install.sh | sh |
インストールのページからご確認できますが、マニュアルでインストールも可能です。
以下のtailscale up コマンドを実行することで、端末をTailscaleのプライベートネットワーク(tailnet)に参加させて、他の接続されたデバイスと安全に通信できるようになります。
1 |
sudo tailscale up |
実行すると以下のようにURLが発行されるので、ブラウザで以下のURLを開き、作成したアカウントでログインすれば登録できます。
1 2 3 4 5 |
To authenticate, visit: https://login.tailscale.com/xxxyyyyzzzz Success. |
Tailscaleにログインすると、「Machines」に同じネットワークに接続されている端末を確認できます。
WindowsPCとラズパイが登録されていることが確認できます。
また、sshオプションをつけることで、鍵の配布が不要になるので、さらに容易に接続できます。
Tailscale SSHが有効になっていると、tailnet内のデバイスは、Tailscaleの認証情報に基づいて相互にSSH接続を確立できるようになり、Tailscaleが裏側で認証を行ってくれるイメージです。
1 |
sudo tailscale up -ssh |
RaspberryPiにSSH接続
TailscaleでMachinesの一覧を確認し、登録したRaspberryPiの名前の横に、Tailscaleによって割り当てられた 100.
から始まるIPアドレスが表示されているため、以下のコマンドを実行します。
1 |
ssh pi@<100.xxx.yyy.zzz> |
また、MagicDNS(tailnet内のデバイスをIPアドレスではなく、覚えやすいホスト名でアクセスできるようにする便利機能)により、ホスト名でアクセスすることができます。
Tailscaleが割り当てたホスト名(例: your-server.tailscale.net)を使ってSSH接続できるようになります。
1 |
ssh your-username@your-server.tailscale.net |
このように、覚えやすいホスト名で簡単に接続できるため、毎回IPアドレスを確認する手間が省けます。
まとめ
最後までご覧いただき、ありがとうございました。
今回は、Raspberry Piをリモート操作することに焦点を当て、Tailscaleをご紹介させていただきました。ご覧いただいたように、Tailscaleを使えば、難しい設定なしに、同じネットワーク上にいるかのようにRaspberry Piを遠隔から操作することが可能です。
しかし、Tailscaleの魅力はこれだけではなく、設定の簡単さはもちろんのこと、暗号化技術による高いセキュリティ、そして無料プランでも最大100台ものデバイスを接続できます。また、異なるネットワーク間を繋ぐサブネットルーター機能などもあり、使いこなせると多くのことに利用できそうです。
今後も、社内での取り組みや日々の業務を通じて学んだことを定期的に共有できればと思います。
また、エコモットでは、ともに未来の常識を創る仲間を募集しています。
弊社に少しでも興味がある方はぜひ下記の採用ページをご覧ください!