Tailscaleを使ってiPhoneからMacにSSH接続する仕組み

Tailscaleを使うと、外出先のiPhoneやiPadから自宅のMacへSSH接続できる場合があります。この記事では、モバイル向けSSHアプリ「どこでもCLI」を使って、Tailscale経由でMacに接続する具体的な手順を解説します。

この記事では、Tailscaleの基本的な仕組みから、MacとiPhoneそれぞれの設定方法、そして「どこでもCLI」への接続先登録と確認方法までをステップバイステップで紹介します。特に、つまずきやすいMac側のネットワーク拡張許可や「リモートログイン」の設定についても丁寧に解説しているので、外出先からMacを操作したい方はぜひ参考にしてください。

Tailscaleとは?同じネットワークに参加させるサービス

Tailscaleは、MacやiPhoneなどの端末を、自分専用のプライベートネットワーク(Tailnet)に参加させるためのサービスです。

自宅のルーターでSSHのポートを外部に公開するような設定をしなくても、同じTailnetに参加している端末同士であれば、あたかも同じWi-Fiに繋がっているかのように安全に接続できます。

そのため、接続する側のiPhoneも、接続される側のMacも、同じTailscaleアカウントでログインし、同じTailnetに参加している必要があります。

iPhone側にもTailscaleアプリが必要な理由

外出先のiPhoneからTailscale経由でMacに接続するには、iPhone自身もTailnetに参加している必要があります。

MacだけにTailscaleをインストールしても、iPhone側がTailnetに参加していなければ、Tailscaleによって割り当てられたIPアドレスには基本的に接続できません。両方の端末にアプリを入れることが必須条件となります。

接続に必要なもの

  • 接続先のMac(自宅などに置いたままにする端末)
  • 接続元のiPhoneまたはiPad(外出先で操作する端末)
  • Tailscaleアカウント(無料で作成可能)
  • iPhone用SSHアプリ「どこでもCLI

ステップ1:MacにTailscaleをインストール・設定する

まずは、接続される側であるMacの準備を進めます。

Tailscale公式サイトのトップ画面

Tailscaleの公式サイトです。MacやiPhoneなどにTailscaleをインストールして利用します。

Tailscale公式サイトのダウンロード画面

Tailscaleのダウンロード画面から、Mac版アプリを入手します。

公式サイトからMac版のTailscaleをダウンロードし、インストーラーを起動します。

Mac版Tailscaleインストーラーのはじめに画面

Mac版Tailscaleのインストーラー画面です。画面の案内に従ってインストールします。

ネットワーク機能拡張とVPN構成を許可する

インストールを進めると、macOSのセキュリティ機能により、いくつか許可を求められる場面があります。ここが最初のつまずきポイントです。

Mac版TailscaleのAllow System Extension画面

Tailscaleを使うために、macOSのネットワーク機能を拡張する許可が求められます。

TailscaleのSystem Extension Approval Required画面

Tailscaleのネットワーク機能拡張を有効にするため、システム設定を開くよう案内されます。

macOSのネットワーク機能拡張でTailscaleをオンにしている画面

システム設定のネットワーク機能拡張で、Tailscale Network Extensionをオンにします。

次に、VPN構成の追加許可が求められます。これはTailscaleが独自のネットワーク網(Tailnet)へ通信をルーティングするために必要です。

TailscaleのAllow VPN configuration画面

Tailscaleが他の端末へ通信をルーティングするため、VPN構成の許可が求められます。

macOSでTailscaleのVPN構成追加を許可する画面

macOSの確認画面で、TailscaleのVPN構成追加を許可します。

MacでTailscaleにサインインしてIPアドレスを確認する

すべての許可が完了したら、Tailscaleアカウントでサインインして、Macを自分のネットワークに参加させます。

TailscaleのJoin your network画面

VPN構成を許可すると、Tailscaleアカウントでサインインして端末をTailnetに参加させます。

Mac版Tailscaleのサインイン前画面

Mac版Tailscaleのサインイン前画面です。同じアカウントでログインします。

Mac版Tailscaleのサインイン後画面

サインイン後、MacがTailnetに参加します。表示されるMacのIPアドレスを、どこでもCLIの接続先として使います。

メニューバーのTailscaleアイコンをクリックし、「100.x.x.x」のような形式のIPアドレスが表示されていれば準備完了です。このIPアドレスを後でiPhone側で入力します。

ステップ2:iPhoneにもTailscaleを入れてログインする

次に、接続元となるiPhoneやiPadにもTailscaleアプリをインストールします。App Storeから無料でダウンロードできます。

iPhone版Tailscaleのログイン前画面

iPhone側にもTailscaleアプリを入れ、Macと同じTailnetに参加させます。

iPhone版Tailscaleのログイン画面

iPhone版Tailscaleでも、Macと同じアカウントでログインします。

iPhone版Tailscaleのログイン後画面

iPhoneもTailnetに参加すると、Tailscale経由でMacのIPアドレスへ接続できるようになります。

iPhone側でも、初回起動時にVPN構成の追加を求められるので許可してください。ログインが完了し、設定が「Active」になっていればOKです。

ステップ3:Macの「リモートログイン」をオンにする

TailscaleでMacが見える状態になっても、Mac側がSSH接続を受け付ける設定になっていなければ接続できません。ここもよくあるつまずきポイントです。

Macのシステム設定でリモートログインをオンにしている画面

Mac側では「システム設定」→「一般」→「共有」から「リモートログイン」をオンにします。ここがオフだとSSH接続できません。

Macの「システム設定」を開き、「一般」>「共有」へ進みます。
リストの中にある「リモートログイン」のスイッチをオンにしてください。
(※情報の横にある「i」ボタンを押して、特定のユーザーのみ許可するか、すべてのユーザーに許可するかの設定も確認しておくと安心です)

ステップ4:どこでもCLIに接続先を登録する

いよいよiPhoneアプリ「どこでもCLI」を使って接続設定を行います。

アプリを開き、新しい接続先の追加(ホストの登録)画面を開きます。

どこでもCLIでTailscale経由のMac接続先を登録している画面

どこでもCLIの接続先登録画面です。ホスト名/IPアドレスには、Tailscaleに表示されたMacのIPアドレスを入力します。

接続先登録画面では、以下の内容を入力します。

ホスト名 / IPアドレス ステップ1で確認した、Tailscaleに表示されたMacのIPアドレス(100.x.x.x)
ユーザー名 Macにログインするときのアカウント名
パスワード Macにログインするときのパスワード
ポート番号 通常は22のままでOK

入力が終わったら、右上の「保存」ボタンを押して登録を完了します。

ステップ5:ターミナル画面でコマンドを実行して接続確認する

登録した接続先をタップして、いよいよMacへ接続してみましょう。

どこでもCLIでMacにSSH接続してコマンドを実行している画面

接続に成功すると、ターミナル上でMacのコマンドを実行できます。専用の完了画面は表示されないため、コマンド結果が返ってくれば接続成功です。

どこでもCLIでは、「接続に成功しました!」というような専用の完了画面や大きなメッセージは表示されません。
真っ黒なターミナル画面が表示され、Mac上でコマンドを実行できる状態になれば、それが接続成功の証です。

試しにいくつか確認用のコマンドを入力してリターンキーを押してみましょう。

whoami
pwd
hostname
sw_vers

これらを入力して、Macのユーザー名、現在のディレクトリ、Mac名、macOSのバージョン情報などが返ってくれば、間違いなくMacに繋がっています。

接続できないときの確認ポイント

もし上手く繋がらない場合は、以下のポイントを一つずつ確認してみてください。

  • MacとiPhoneの両方でTailscaleがオン(Active)になっているか
  • MacとiPhoneが同じTailscaleアカウント(同じTailnet)に入っているか
  • Mac側の「リモートログイン」がオンになっているか
  • どこでもCLIの「ホスト名/IP」に、Mac側のTailscale IP(100.x.x.x)を正しく入力しているか
  • ユーザー名が、Macのログインアカウント名と一致しているか
  • パスワードが、Macのログインパスワードと一致しているか
  • ポート番号が22になっているか
  • Macがスリープしていないか(スリープ中は接続できない場合があります)
  • もしMagicDNS名で接続を試みて失敗している場合は、代わりにTailscale IPアドレスを直接入力して試す

TailscaleやSSH接続を利用する際の注意点

  • 「どこでもCLI」は、指定されたIPアドレスに対してSSH接続を行うアプリであり、Tailscaleを直接設定・制御するアプリではありません。接続の可否はTailscale側の状態に依存します。
  • 会社や学校の端末、または共有のネットワーク環境で利用する場合は、必ずネットワーク管理者や利用ルールを確認した上で使用してください。
  • Macの「リモートログイン」をオンにすると、許可されたネットワーク上の端末からSSHログインできる状態になります。Macのユーザー名やパスワードの管理は厳重に行ってください。
  • Tailscaleアカウントの管理も重要です。使わなくなった端末はTailnetから削除するようにしましょう。
  • パスワード、APIキー、秘密鍵などの機密情報をターミナル上で直接扱う場合は、第三者に見られないよう十分注意してください。
  • 外出先から接続する際、自宅のMacがスリープ状態になっていると接続できない場合があります。必要に応じて、Macのスリープ設定を見直すか、Wake on LAN環境を用意するなどの対策が必要です。

まとめ:Tailscaleで外出先からMacに接続しやすくしよう

今回は、Tailscale経由で自宅のMacへSSH接続する例をご紹介しました。ポート開放などの複雑なルーター設定が不要で、比較的安全にリモート環境を構築できるのが大きなメリットです。

「どこでもCLI」を使えば、外出先のiPhoneからでもスムーズにコマンド操作が可能です。ぜひこの方法を試して、快適なモバイル開発環境を手に入れてください!

記事についてのご質問や、「どこでもCLI」に関するフィードバックがありましたら、お気軽にお問い合わせやX(旧Twitter)のDMまでメッセージをお寄せください!