マトリクス

共有リモートMac:Codespaces踏み台と直結SSH(遅延・席・二人検収)

2026年4月9日 Meshmac 約7分

踏み台と直結を閾値で比較。検収と設定例つき。SSHとVNC選型ホームプラン

つまずき三つ:経路二重・転送とアイドル衝突・暗黙先取り。

協働シナリオと二人ペアの受け入れチェックリスト

衝突は経路・揃え・公平性。二十二番が閉じるなら踏み台。遅延小なら直結。CLIペアは直結優先。

検収チェック

  • ユーザ二系統・鍵のみ・退職失効
  • 直結と中継の往復遅延を実測しデフォルト決定
  • 転送一覧と衝突テスト・所有者明記
  • tmux名・ControlMaster経路・六十秒再接続手順
  • 独占ジョブの宣言ルールと見えるキュー

ソリューション比較(閾値入り決定表)

数値は合議用ガードレール。回線・リージョン・VPNで前後します。

信号と目安 踏み台優先 直結優先
往復遅延 直結が百二十ミリ秒超かつ中継が二割五分以上短い 八十ミリ秒以下で安定、中継でぶれ増
同時ビルド プール一二並列まで、踏み台は入口のみ 三並列以上常時なら台数かCIで分割
ポート転送 長期三本以下 五本超TLS表で一本化
断線復帰 アイドル十五〜三十分許容、ビルドはtmuxかCI 五分未満で文脈復帰、永続シェル必須
安全適合 クラウド出口が認められ端末に長期鍵を置かない トークン縛り・長寿命シェルから本番禁止

設定例と注意

ホスト等は差し替え。展開はssh -Gで確認。

直結(最短経路)の例:

Host meshmac-direct
  HostName mac-builder.example.jp
  User alice
  IdentityFile ~/.ssh/meshmac_ed25519
  IdentitiesOnly yes
  ServerAliveInterval 30
  ServerAliveCountMax 4
  ControlMaster auto
  ControlPath ~/.ssh/cm-%r@%h:%p
  ControlPersist 10m
  # LocalForward 19000 127.0.0.1:9000

Codespacesを踏み台にする例(gh codespace ssh --config で出た Host cs-* を併記):

Host meshmac-via-codespace
  HostName 10.50.12.8
  User shared-builder
  IdentityFile ~/.ssh/meshmac_pool_key
  IdentitiesOnly yes
  ProxyJump cs-yourcodespace
  RemoteForward 127.0.0.1:18080 127.0.0.1:8080

注意

  • 入れ子は詰まりやすい・並列を減らす
  • 中継側ディスクは揮発しがち・本番鍵を焼かない
  • RemoteForwardはsshdと社内規程の合意が要る

権限と隔離

経路に関わらずMac側テナンシーが本体。詳細は権限隔離の実践比較。要点は一人一アカウント・CIと対話ユーザ分離・成果物はグループとsetgid・GUIは選型に従い補助のみ。

衝突と席の確保戦略

先取りは信頼を壊す。中継は仲裁しない。二十分超は宣言かカレンダー。負荷がコアの約一点五倍なら別レーン。ロックで順番付け。tmux切断条件も文書化。キューFAQ再接続表

よくある質問(FAQ)

Q. 踏み台が有利なのは。
A. 二十二番が閉じる・コンテナで揃える。長処理はtmuxかCI。

Q. 経路で競合は減る。
A. 減らない。分離とキューが要る。

Q. 転送と切断の目安。
A. 長期五本超は一本化。一時間一回以上落ちるならtmuxとControlMaster標準化。

プランを見る(ログイン不要)