協働シナリオと二人ペアの受け入れチェックリスト
衝突は経路・揃え・公平性。二十二番が閉じるなら踏み台。遅延小なら直結。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と社内規程の合意が要る
権限と隔離
衝突と席の確保戦略
よくある質問(FAQ)
Q. 踏み台が有利なのは。
A. 二十二番が閉じる・コンテナで揃える。長処理はtmuxかCI。
Q. 経路で競合は減る。
A. 減らない。分離とキューが要る。
Q. 転送と切断の目安。
A. 長期五本超は一本化。一時間一回以上落ちるならtmuxとControlMaster標準化。