SSH/リモートアクセス 2026年4月28日

2026 MacBook スリープ、ディスプレイクローズ、Wi-Fi ローミングと ProxyMac Mac mini への SSH 切断

ProxyMac エンジニアリングチーム 2026年4月28日 約 11 分

Apple Silicon M4 の mini を香港・日本・韓国・シンガポール・米国で借りる開発者からよく聞くのは、「オフィスを歩いて東京の SSH が途切れる」という報告です。ProxyMac 側は健全なことが多く、実際にはMacBook クライアントが Wi‑Fi を省電力停止させたり AP をまたいだり、会社 SSID からテザリングへ切り替えたりしているだけです。本稿では(1) スリープと802.11 ローミングが TCP をどう壊すか、(2) それを Wi‑Fi バッファブロートWAN 側キープアライブタイムアウト とどう切り分けるか、(3) チケットに貼れる四列表(4) 六ステップとそのまま使える ~/.ssh/config をまとめます。テザリングがCGNAT を挟む場合は 逆 SSHへ、巨大転送だけが詰まるなら PMTUD を優先してください。

症状はまずノート側——データセンターだけではない理由

SSH は長寿命の TCP であり、両端は IP・ウィンドウ・暗号状態をキャッシュします。macOS がディスプレイを閉じたり別 BSSID に付け替わったりすると、Wi‑Fi ドライバがラジオをわずかな時間だけ落とし、その間に進行中パケットが再送回数からこぼれることがあります。HK / JP / KR / SG / US にあるサーバ視点では単に沈黙しますが、ユーザーにはシェルが「固まった」ように見えます。これは高 RTT(遅いが届く)とは異なります。クロスリージョン最適化 を読んでください。RCA ではクライアントの電源イベントとサーバログを時系列でつなぐことが決定的です。

  • スリープ:既定の電源ポリシーが NIC キューを止め、復帰時に ARP と DNS の競合が起きる。
  • ローミング:高速遷移で IP を保ちながら L2 パスが変わり、企業 WLAN ではステートフル FW エントリが消える例もある。
  • テザリング:LTE/5G の再附帯で CGNAT 下の公開 IP が変わり、既存の TCP 四つ組が無効になる。

同じ mini に Thunderbolt ドック経由の有線だけで繋げば安定するのに、東京リージョンを疑うのは典型的な誤誘導です。まずクライアント経路を観測可能な証拠に落としてください。

TCP と UDP がスリープ、App Nap、Wi‑Fi ローミングと相互作用する仕組み

OpenSSH は ServerAliveInterval がある場合のみ周期的なアプリケーションレベルの通信を送ります。無い場合、TCP keepalive はアイドル時約 2 時間に一度しか発火しないことがあり、長時間シェルを守りません。Apple のノート PC はバックグラウンドのターミナルに App Nap を適用し、「SSH が固まってフォーカスを戻したら動いた」という体感になり得ます。バッテリー駆動では Wi‑Fi の省電力も重なり、ある現場ではローム負荷の高い 8 時間で切断率が12% を超える合成試験もありました(ベンダ依存であり保証値ではありません)。計装が目的です。

IPv6 Happy Eyeballs と混同しない。 デスクに固定されていても長停止するなら先に AAAA 競争 を疑ってください。

Activity Monitor のエネルギー列と log stream を並べれば、バックグラウンド ssh がサスペンドされていないか確認できます。証拠が揃えば組織の無線チームとの議論も短く済みます。

四行のローミングマトリクス——シンガポールを責める前に分類する

観察パターン推定レイヤ簡易試験詳細リンク
ディスプレイを閉じて30 秒以内に切断スリープ/電源宣言caffeinate -dimsu でタイムボックス比較本記事と電源設定
RSSI が−75 dBm をまたぐ歩行で切断Wi‑Fi ローム/スティッキークライアントワイヤレス診断で BSSID 変化をログWi‑Fi ガイド
iPhone ホットスポットのみCGNAT/キャリアタイマー切断前後のグローバル IP を比較CGNAT
静止時に15–25 分アイドルで切断NAT ミドルボックスタイムアウトServerAliveInterval 30 を有効化キープアライブ調整

この表は「どの説明筋がチケットに書けるか」を固定するためのものです。一回の ping 平均だけで WAN とローカルを混ぜないでください。

六ステップのクライアント手順書

  1. タイムスタンプ:pmset -g log でスリープイベントと切断を突き合わせる。
  2. キャプチャ:メニューバー Wi‑Fi を Option クリックして BSSID の差分を記録。
  3. 適用:Host 節に ServerAliveIntervalTCPKeepAlive yes
  4. テスト:ロームが多い時間帯に同一ホストへUSB‑C 有線でも張り、安定なら WLAN が本命。
  5. エスカレ:パス診断 の MTR を無線チームへ。
  6. リージョン再評価:クライアント経路が白けてから 料金 で選ぶ。

バッテリーモード、App Nap、バックグラウンドのターミナルタブ

バッテリー駆動ではタイマー合体がキープアライブ間隔を引き延ばし、設定した ServerAliveInterval より遅く感じることがあります。制御下のテストで「スリープを防ぐ」を有効にするか、caffeinate -i ssh user@host を 1 時間だけ当てて挙動差を見てください。App Nap はアプリ単位でオフにでき、証拠集めのあと元に戻してバッテリー消費を守ります。長時間 ProxyMac mini 向けに作業するなら、本番セッションは CPE 有線、会議とブラウザを Wi‑Fi、ピクセル作業だけ VNC が現実的です。

同一ノートで VoWiFi やビデオ会議が走ると、東京への平均 RTT が滑らかでも空気時間を奪われます。ロームが避けられないなら対話シェルは Mosh を検討し、サーバ側は tmux で状態を保持してください。

クライアント側 tcpdump で RST が自分のマシンから出ているなら、ケーブルより先ではなく手元が修正ポイントです。

ProxyMac 向け SSH 設定断片

Host proxymac-* HostName %h.your-domain.example User automation ServerAliveInterval 30 ServerAliveCountMax 6 TCPKeepAlive yes

併読: 不安定な回線では autossh と Mosh のトレードオフを。対話は Mosh、SCP やポート転送は従来の SSH。

FAQ

mini を身近な拠点に移してもらえるか? リージョンはコンプラと遅延方針のマッピングです。先にノートを直し、HK / JP / KR / SG / US をデータで選んでください。

iCloud リレーは? 関係のないプロキシを通す場合のみ。直列接続か、CONNECT 手順に従って文書化します。

ローム時の VNC は? TCP のリセットは同じです。VNC 基礎 を読み、経路が安定するまで適応画質実験は避けてください。

ノートが落ち着いたあとも Mac mini が勝つのはなぜか

スリープとローミングを抑えたうえで、専用 Mac mini M4 は自動化に予測可能な CPU、並列ビルド向けのユニファイドメモリ、空想のハックintosh ではなくネイティブ macOS API を提供します。ProxyMac は五リージョンで同一手順書を共有できます。料金ページ でプランを比較し、ヘルプ の SSH 断片をこのマトリクスと並べ、GUI が必要なら VNC 資料 を手元に。

クライアントを安定させてからリージョンを選ぶ

HK / JP / KR / SG / US · Apple Silicon M4