SSH / Удалённый доступ 24 апреля 2026 г.

2026 SSH через корпоративные HTTP CONNECT-прокси к арендованной Mac mini ProxyMac

Инженерная команда ProxyMac 24 апреля 2026 г. около 12 мин. чтения

Команды безопасности всё чаще выдают ноутбуки, где без тикета наружу в интернет открыты только TCP 443 (иногда 80), а ваша Mac mini ProxyMac в Гонконге, Японии, Корее, Сингапуре или США по-прежнему слушает TCP 22 для SSH. Редко виноват «сломанный SSH у ProxyMac»: трафик браузера идёт через туннель HTTP CONNECT на forward-прокси, а голый ssh в терминале этот контракт не знает. Статья объясняет, кому реально нужен CONNECT по сравнению с полнотуннельным VPN, сравнивает четыре режима транспорта в матрице с оценками (таймауты аутентификации прокси 30–120 с, потолки SCP 512 КБ–8 МБ/с на части DLP-путей), даёт готовый блок ProxyCommand с OpenBSD nc в macOS, предупреждает об устройствах TLS MITM, переписывающих ключи хоста, ведёт восьмишаговый сценарий от PAC до пакетных доказательств и показывает связку с jump-хостами, zero-trust-маршрутизацией и настройкой TCP keepalive, чтобы сессии жили после успешного CONNECT.

Сверьтесь с справочным центром и ценами, выберите регион заранее и не тратьте неделю на доказательство прокси вместо нагрузки.

Когда из офиса уходит только HTTPS, а mini всё ещё говорит по SSH

Компании сходятся на явных forward-прокси, чтобы классифицировать 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Ноутбук → mini0 мс налога проксиТаймеры простоя CGNAT — см. статью про keepalive
HTTP CONNECT через явный проксиПрокси → mini3–15 мс на хопПетли HTTP 407
Полнотуннельный VPNКонцентратор VPN → интернет8–40 мсПолитические маршруты всё ещё обходят регион mini
Сплит VPN + корпоративный проксиНоутбук → прокси → miniсумма обоихSCP медленнее интерактивной оболочки
Арифметика тикета: приложите три метки времени — успех аутентификации на прокси, SSH KEXINIT, первый prompt оболочки — чтобы сетевики и платформа не спорили, на каком хопе затык.

ProxyCommand в macOS с nc -X connect

В macOS есть OpenBSD nc с -X connect для классического HTTP CONNECT. Замените плейсхолдеры на host:port из документации IT — не угадывайте со скриншота.

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 без паролей открытым текстом в world-readable файлах — часто оборачивают corkscrew-подобные утилиты в небольшой подписанный бинарник вместо ~/.ssh/config.

TLS-инспекция, PAC и иллюзия «в Chrome работает»

Аппарат TLS-инспекции может завершать исходящий TLS и при этом разрешать CONNECT к произвольным портам — или блокировать CONNECT не на 443 без тикета. Если IT разрешает только CONNECT :443, до :22 этим путём не дойти; нужен whitelist 22 для публичного имени mini или перенос SSH на 443/tcp под контролируемую точку (не в стандартных образах ProxyMac — отдельная инженерия).

Ключ хоста изменился: если после включения прокси ssh предупреждает, сверьте отпечатки вне канала — MITM часто выпускает корпоративные УЦ, которым ноутбук уже доверяет, поэтому предупреждение едва заметно.

Восемь шагов, прежде чем винить регион

  1. Снять PAC из «Системные настройки → Сеть → Подробнее → Прокси» (macOS 15) и сохранить URL.
  2. Проверить CONNECT командой nc -vz -X connect -x proxy:port mini-host 22.
  3. Сравнить RTT с VPN и без через ping, если разрешён ICMP — иначе ssh -G для разрешённой конфигурации.
  4. Наложить keepalive по статье про TCP keepalive, чтобы прокси не убирал простаивающий CONNECT.
  5. Проверить MTU по руководству PMTUD, если массовое копирование замирает посередине.
  6. Попробовать jump, если у bastion в DMZ чистый 22 — см. статью о bastion.
  7. Зеркалировать конфиг в Git с замаскированными именами прокси для аудита.
  8. Эскалировать с pcap только после того, как шаги 1–6 дважды воспроизводимы в один день.

Складывать ProxyCommand и ProxyJump без циклов

Многие ставят небольшую bastion в DMZ с исходящим 22, пока ноутбуки остаются заблокированными. ProxyJump bastion на первый хоп, ProxyCommand на ногу ноутбук→корпоративный прокси — или наоборот, если сама bastion ходит через CONNECT. ASCII-схема в runbook, чтобы дежурный не перепутал вложенность. Статья о jump показывает имена Host, переживающие блоки Match exec.

Вопросы и ответы

Починит ли один HTTPS_PROXY ssh? Сам по себе нет — OpenSSH читает свои директивы; переменные среды действуют только на инструменты, которые их учитывают.

Почему GitHub SSH работает, а ProxyMac нет? Разные имена хостов могут попадать в разные корзины политики прокси — сравните метки категорий в админке.

Наследуют ли демоны OpenClaw настройки CONNECT? LaunchAgent нужны явные EnvironmentVariables; export в ~/.zprofile не действует — см. устранение неполадок OpenClaw.

Почему Mac mini ProxyMac остаётся правильной целью за корпоративными прокси

Apple Silicon M4 mini в HK / JP / KR / SG / US дают долгоживущее имя хоста для whitelist на прокси-устройстве вместо погони за эфемерными облачными ВМ с ротацией DNS после autoscale. Когда CONNECT и ключи хоста стабильны, вешайте агентов автоматизации, сборки Xcode или сканеры соответствия на тот же металл, уже одобренный security. Региональные цены для обоснования второй mini под DR и VNC для запросов TCC, которые один SSH не нажмёт.

Одна mini — один whitelist

HK / JP / KR / SG / US · стабильные SSH-эндпоинты