2026 企業のHTTP CONNECTプロキシ経由でレンタルしたProxyMac Mac miniにSSHする
セキュリティチームはますます、チケットなしでは公インターネットへTCP 443(ときどき80)しか出せないノートPCを配布する一方、香港・日本・韓国・シンガポール・米国のProxyMac Mac miniは依然TCP 22でSSHを待ち受けている。根本原因はめったに「ProxyMacがSSHを壊した」ではなく、ブラウザ流量はHTTP CONNECTでフォワードプロキシを抜けているのに、ターミナルの素のsshがその契約を知らないことにある。本稿ではCONNECTが本当に必要な相手とフルトンネルVPNの違い、4つの転送モードを行列で比較し数値目安(プロキシ認証の30〜120秒タイムアウト、一部DLP経路でSCPが512KB〜8MB/sに抑えられる等)、macOSのOpenBSD ncを使ったコピペ可能なProxyCommand節、TLS中間者検査によるホスト鍵の書き換え、PAC発見からパケット証拠までの8段階、そして踏み台・ゼロトラスト経路・TCPキープアライブ調整との組み合わせを示し、CONNECT成功後もセッションを維持する。
ヘルプセンターのブートストラップと料金でリージョンを先に決め、プロキシ検証に一週間を溶かさないようにする。
オフィスからHTTPSしか出せないのに、miniはSSHのまま
企業はURL分類、マルウェアスキャン、全出口バイトへのDLPのために明示フォワードプロキシへ収束する。合理的な政策だが、git pushやrsync、ssh -Lをビルドホストへ飛ばしたい開発者とは衝突する。症状は繰り返し同じ:ssh -vvvがConnecting to ... port 22で止まり、curl https://example.comは即成功—ブラウザはHTTPS_PROXYを拾ったがシェルは拾っていない。
- スプリットトンネルVPNはトンネルが「フル」のときだけ22が見えることがある—ITが実際に配るモードを文書化する。
- WPADはSSIDごとに別プロキキを指す可能性がある—ホテルWi-FiのPACはオフィスと同じではない。
- ブラウザ専用拡張が宣伝するSOCKS5は、環境変数を一貫してエクスポートしない限りターミナルへ自動適用されない。
転送マトリクス:直SSH、CONNECT、VPNフル、VPNスプリット
| モード | TCP 22を開ける主体 | 典型的な遅延増 | 失敗の匂い |
|---|---|---|---|
| 信頼できる家庭ISPから直 | ノートPC → mini | 0msのプロキシ税 | CGNATアイドル—キープアライブ稿を参照 |
| 明示プロキシ経由のHTTP CONNECT | プロキシ → mini | ホップあたり3〜15ms | HTTP 407認証ループ |
| VPNフルトンネル | VPNコンセントレータ → インターネット | 8〜40ms | ポリシールートがminiリージョンを迂回 |
| VPNスプリット+企業プロキシ | ノートPC → プロキシ → mini | 両方の和 | SCPが対話シェルより遅い |
macOSでnc -X connectを使うProxyCommand
Apple同梱のOpenBSD ncは-X connectで古典的HTTP CONNECTを張る。プレースホルダはITが文書化したhost:portに置き換える—スクリーンショットから推測しない。
Host proxymac-jp-via-proxy
HostName jp-node.proxymac.com
User youruser
ProxyCommand nc -X connect -x corporate-proxy.corp.local:8080 %h %p
ServerAliveInterval 30
ServerAliveCountMax 4
プロキシがBasic認証を要求する場合、世界読み取り可能なファイルに平文パスワードを埋め込まずにCONNECTへ注入できるヘルパーを優先する—多くのチームはcorkscrew系を小さな署名付きバイナリに包む。
TLS検査、PAC、「Chromeでは動く」幻想
TLS検査アプライアンスが外向きTLSを終端しても、任意ポートへのCONNECTトンネルは許す一方、例外申請なしで443以外のCONNECTを止めることもある。ITがCONNECT :443のみなら:22へは到達できない—miniの公開ホスト名で22を許可リストに入れるか、制御下エンドポイントの443/tcpへSSHを移す(既定のProxyMacイメージでは扱わない—別エンジニアリング案件と見なす)。
sshが警告したら帯域外でフィンガープリントを比較する—MITM機器はノートが既に信頼する企業CAを発行し、警告はかすかになりがちだ。
リージョンのせいにする前の8段階
- macOS 15の「システム設定 → ネットワーク → 詳細 → プロキシ」からPACをダンプしURLを保管する。
nc -vz -X connect -x proxy:port mini-host 22でCONNECTを試す。- ICMPが許可されていれば
pingでVPN有無のRTTを比較—不可ならssh -Gで解決済み設定を表示する。 - TCPキープアライブ稿に従いキープアライブを重ね、アイドルCONNECTの再利用を防ぐ。
- バルクコピーが途中で止まるときはPMTUD稿でMTUを検証する。
- DMZの踏み台にクリーンな22があるなら踏み台を試す—踏み台稿を参照。
- マスクしたプロキシホスト名をGitにミラーし監査に備える。
- 1〜6を同日に二度再現できてからpcapでエスカレーションする。
ProxyCommandとProxyJumpを循環なく積む
多くのチームはDMZに小さな踏み台を置き、そこからは外向き22が開き、ノートPCはロックダウンのまま。第一ホップにProxyJump bastion、ノートPC→企業プロキシの脚にProxyCommandを使うか、踏み台自身がCONNECT必須なら逆—当番が入れ子を取り違えないよう手順書にASCII図を残す。踏み台稿はMatch execブロックでも生き残るHost命名を示す。
よくある質問
HTTPS_PROXYを設定すればsshも直るか? それだけでは足りない—OpenSSHは独自の指示を読む。環境変数は尊重するツールにだけ効く。
GitHubのSSHは動くのにProxyMacは動かないのはなぜか? ホスト名ごとにプロキシのポリシーバケットが違う—管理UIの分類ラベルを比較する。
OpenClawデーモンはCONNECT設定を継承するか? LaunchAgentには明示的EnvironmentVariablesが必要—~/.zprofileのexportは届かない。詳しくはOpenClawトラブルシュート。
企業プロキシの背後でもProxyMac Mac miniが正しい行き先である理由
Apple Silicon M4のHK/JP/KR/SG/USminiは、オートスケール後に名前が入れ替わる短命VMを追いかけず、プロキシ機器に一度ホワイトリストすればよい長寿命ホスト名を与える。CONNECTとホスト鍵が安定したら、自動化エージェント、Xcodeビルド、コンプライアンススキャナをセキュリティが承認済みの同一金属へ載せられる。リージョン別料金でDR用の2台目を正当化し、TCCプロンプトにはVNCを併用する—SSHだけでは「許可」を押せない。