Macは再起動できたのに、Tailscaleの管理画面ではノードがオフラインのままになっています。
最短の修復方針は、Tailscaleノードの切断、MagicDNSの名前解決失敗、macOS SSHサービスの拒否を別々に切り分けることです。常用する開発機やビルドノードなら、ウェブコンソールまたはVNCを帯外の復旧経路として残し、受け入れ試験を通過するまで無人運用へ移行しないでください。
このページは、Xcode、自動ビルド、長時間のタスクを遠隔Macで動かし、再起動後も接続を戻したい開発者向けです。複数のmacOSノードの認証、アクセス制御、SSH権限を管理するDevOps担当者や、公開SSHポートを避けたいチーム管理者にも適しています。
SECTION 01 最初に故障層を確定する
表示が「オフライン」でも、実際の故障箇所は同じとは限りません。管理画面、名前解決、SSH接続の順に観察し、先に証拠を残してから設定を変更します。
| 観察した症状 | 最小限の確認 | まず疑う層 | 初動 |
|---|---|---|---|
| Tailscaleのデバイス一覧で対象Macがオフライン | 対象Macのクライアント状態、管理画面の最終状態 | ログインセッション、システム拡張、認証 | ウェブコンソールまたはVNCで画面を確認 |
| ノードはオンラインだが名前で接続できない | MagicDNS名とノードアドレスを個別に確認 | DNSまたは名前解決 | アドレス指定で到達性を比較 |
| ノードは到達可能だがSSHだけ拒否される | ssh -vvv の詳細ログ、macOSの共有設定 |
SSHサービス、アカウント、ポリシー | 「リモートログイン」とアクセス制御を確認 |
CLIを使える状態なら、tailscale status でピアと接続状態を確認できます。コマンドの出力項目は、Tailscale CLIのstatus説明に照らして読み取ってください。アイコンがメニューバーにあるだけでは、SSHの到達性までは保証されません。
SECTION 02 復旧経路を先に比較する
再起動後にTailscaleが戻らない可能性を残したまま、単一のSSH経路へ依存するのは危険です。次の比較で、あなたの運用に必要な経路を決めます。
| 選択肢 | 到達できる故障層 | 無人再起動への適性 | 運用上の判断 |
|---|---|---|---|
| 通常のSSH over Tailscale | TailscaleとmacOS SSHがともに動作している状態 | ログイン前にTailscaleが起動しない構成では弱い | 開発者の通常接続に適する |
| Tailscale SSH | 対応するtailscaled形態とポリシーが整った環境 | macOSの利用形態を個別確認する必要がある | 通常のMacクライアントと混同しない |
| VNCまたはウェブコンソール | ログイン画面、クライアント、権限の確認 | 帯外経路として有効 | 本番ノードの復旧用に確保する |
| 物理的な現地操作 | ソフトウェア経路が全て失われた状態 | 遠隔運用には不向き | 最終手段。常用前提にしない |
Appleが案内するmacOSの「リモートログイン」は、SSHとSFTPを提供します。一方、Tailscaleは機器間の接続経路を作る役割であり、接続先MacでSSHサービスが有効になっていなければログインできません。Appleのリモートログイン設定を確認してください。
| 運用条件 | 推奨構成 | 避ける構成 |
|---|---|---|
| 個人の一時的な開発機 | Tailscale+通常のSSH+VNC | SSHだけを唯一の入口にする |
| 継続的なXcodeビルド | Tailscale+SSH鍵+帯外コンソール | 再起動後の手動ログインを前提にする |
| 複数ノードのチーム運用 | 認証、タグ、ポリシー、監査記録を分離 | 全員に広い管理権限を付与する |
| 公開IPを持たない環境 | Tailscaleのノード名またはアドレスで接続 | インターネットへSSHポートを直接公開する |
SECTION 03 ログインセッションとシステム拡張を確認する
Macの再起動完了と、Tailscaleの接続復旧は別の出来事です。遠隔Macがログイン画面で停止している場合、通常のクライアントがユーザーセッションに依存していれば、Tailscale側のノードがオンラインへ戻らないことがあります。
帯外経路で画面を開き、次の順番で確認します。
- Macがログイン画面、ユーザー画面、または復旧画面のどこにいるか確認します。
- Tailscaleクライアントが起動しているか、認証を要求していないか確認します。
- システム拡張やネットワーク拡張の承認待ちが表示されていないか確認します。
- macOSのアップデート後またはTailscale更新後に、ネットワーク権限が変わっていないか確認します。
- クライアントのログと管理画面の状態を突き合わせます。
TailscaleはmacOSでシステム拡張を利用する形態があり、承認や読み込み状態が接続に影響します。macOSシステム拡張に関する公式説明を参照し、メニューバーの表示だけで正常と判断しないでください。
自動ログインを有効にすれば復旧する場合がありますが、端末へ到達した第三者がユーザーセッションを取得するリスクも増えます。先にVNCやウェブコンソールの認証、ディスク暗号化、運用者の復旧手順を確認し、安全性を下げる変更を標準手順にしないでください。
Tailscaleの公式説明でも、macOSの通常クライアントはログイン前からシステムサービスと同じように動くものではないとされています。無人運用に関する公式ガイドで、使用しているクライアント形態の制約を確認してください。
SECTION 04 ノード認証とアクセス制御を再点検する
クライアントが起動していても、デバイスの認証期限、承認待ち、再認証要求によって接続が戻らないことがあります。再認証や状態削除を急ぐ前に、既存の認証情報、管理画面のデバイス名、タグ、帯外経路を記録してください。
特に長期稼働ノードでは、個人の開発機と同じ扱いにしないことが重要です。ユーザーの退職や鍵の交換でノードが突然使えなくならないよう、運用主体、タグ、認証期限、復旧担当を分けて管理します。
アクセス制御は「接続元がTailscale内にいるか」だけで許可せず、送信元の識別、対象タグ、ポート、ユーザーを限定します。Tailscaleのアクセス制御公式ドキュメントとポリシー構文リファレンスを確認し、変更後は許可すべき接続と拒否すべき接続の両方を実際に試します。
| 確認対象 | 正常と判断する証拠 | 失敗時の対応 |
|---|---|---|
| デバイス認証 | 管理画面で対象ノードが承認済み | 帯外経路を確保して再認証 |
| ノード識別 | 再認証前後で名前とタグを記録 | 古いノードを誤って許可しない |
| ポリシー | 想定した送信元から対象ポートだけ通る | ルールを最小単位へ戻して再確認 |
| SSHアカウント | 許可したmacOSユーザーだけが利用可能 | 共有アカウントや広すぎる権限を廃止 |
状態ファイルの削除やクライアントの再インストールは、最後の手段です。これらはノードの身元を変えたり、現在の認証情報を失わせたりする可能性があるため、ウェブコンソールまたはVNCで戻せることを確認できない場合は実行しないでください。
SECTION 05 MagicDNSとSSHを別々に復旧する
ノードアドレスでは接続できるのに、デバイス名では失敗するなら、Tailscale本体よりMagicDNSを先に疑います。MagicDNSはTailnet内の機器名を扱う機能であり、名前解決の挙動は接続経路そのものとは異なります。MagicDNSの公式説明とDNS動作のFAQを確認してください。
診断は次の順番で行います。
- 接続元から対象Macのノードアドレスへ疎通を確認します。
- 同じ接続元からMagicDNSの完全な名前を解決します。
ssh -vvv ユーザー名@ホスト名を実行し、名前解決前後のログを保存します。- アドレス指定でSSHが始まり、名前指定だけ失敗するならDNS設定を修正します。
- どちらも失敗するなら、Tailscale状態、ポリシー、macOS SSHサービスを戻って確認します。
macOS側では「システム設定」の共有項目から「リモートログイン」を確認し、許可するユーザーを限定します。Tailscaleの経路が正常でも、ここが無効なら通常のSSH over Tailscaleは成立しません。
ここで通常のSSH over TailscaleとTailscale SSHを混同しないでください。前者はmacOS標準のSSHサービスをTailscaleの接続上で使う構成です。後者のサーバー機能は、対応するオープンソース版のtailscaleおよびtailscaledを使える形態に限って検討します。Tailscale SSHの公式仕様では、macOSの通常クライアントへそのまま適用できるとは説明されていません。
SECTION 06 受け入れ試験として再起動を実施する
修復後は、単にSSHで入れたという理由だけで本番投入しません。保守時間を決め、観察結果と手動介入の有無を記録しながら、次のマイルストーンを一つずつ通過させます。
| マイルストーン | 合格条件 | 記録する内容 |
|---|---|---|
| 帯外入口 | ウェブコンソールまたはVNCでMacの画面を確認できる | 到達方法と認証担当 |
| ノード復旧 | Tailscale管理画面で対象Macがオンラインになる | 復旧時のクライアント状態 |
| 名前解決 | MagicDNS名が解決し、ノードアドレスとも整合する | 解決結果と実行元 |
| SSH接続 | 鍵認証で許可ユーザーだけが接続できる | ssh -vvv の要点 |
| タスク復旧 | tmux、ビルド、定期処理が想定通り再開する | 手動操作の有無 |
Macがオンラインになる前にログイン操作が必要だった場合、その事実を「自動復旧」と記録してはいけません。無人状態でTailscaleが戻らないなら、帯外制御を本番運用の必須条件にし、単一のSSH経路へ戻らない設計にします。
既存のSSH鍵運用を見直す場合は、macOSのSSH鍵認証と権限管理に関するガイドも参照してください。遠隔Macを継続的なビルドノードとして扱うなら、VPSNIXのMacレンタル案内で利用形態を確認し、接続経路の検証条件を先に整理しておくと判断しやすくなります。
SECTION 07 よくある判断を短く確認する
FAQでは、再起動後のTailscale接続、公開IPなしのSSH、無人ログイン、Tailscale SSHの適用範囲を分けて回答しています。どれか一つが成立しても、残りの経路まで自動的に正常になるわけではありません。
SECTION 08 結論:再起動試験を通過してから運用方法を決める
自前のMacを使い続ける場合、再起動後にログインセッションが戻らない、拡張機能の承認で停止する、MagicDNSとSSHの状態を別々に監視しなければならない、といった管理負担が残ります。公開IPを避ける構成でも、帯外復旧経路がなければ、Tailscaleの切断時に遠隔から手を出せません。
そのため、既存設備に確実なウェブコンソールやVNCがなく、毎回現地操作が必要になるなら、VPSNIXのMacレンタルを候補に入れ、契約前にTailscale、MagicDNS、SSH、再起動後の復旧を一連の手順として確認するのが現実的です。VPSNIXの料金と利用プランを確認し、短期の検証環境や一時的なビルドノードとして適するかを、必要な帯外アクセス条件と合わせて判断してください。長期にわたり物理ポートや専用ハードウェアが必要な運用では、自購入のMacのほうが適する場合もあります。