SSH / 원격 2026년 4월 24일

2026 기업 HTTP CONNECT 프록시를 통해 대여한 ProxyMac Mac mini로 SSH

ProxyMac 엔지니어링 팀 2026년 4월 24일 약 12분 읽기

보안팀은 티켓 없이 공용 인터넷으로 TCP 443(때로 80)만 나가도록 노트북을 배포하는 경우가 늘고, 홍콩·일본·한국·싱가포르·미국에 있는 ProxyMac Mac mini는 여전히 TCP 22에서 SSH를 받는다. 근본 원인은 드물게 “ProxyMac이 SSH를 망가뜨렸다”가 아니라, 브라우저 트래픽은 HTTP CONNECT로 포워드 프록시를 통과하는데 터미널의 맨 ssh는 그 계약을 모른다는 데 있다. 이 글은 CONNECT가 진짜 필요한 경우와 풀터널 VPN의 차이, 네 가지 전송 모드를 행렬로 비교하고 수치 기대(프록시 인증 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 -vvvConnecting 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에서 직접노트북 → mini0ms 프록시 세금CGNAT 유휴—키프얼라이브 글 참고
명시 프록시 HTTP CONNECT프록시 → mini홉당 3–15msHTTP 407 인증 루프
VPN 풀 터널VPN 집중기 → 인터넷8–40ms정책 라우트가 mini 리전을 우회
VPN 스플릿 + 기업 프록시노트북 → 프록시 → mini둘의 합SCP가 대화형 셸보다 느림
티켓에 세 타임스탬프: 프록시 인증 성공, SSH KEXINIT, 첫 셸 프롬프트—어느 홉에서 멈췄는지 네트워크와 플랫폼 팀의 논쟁을 끝낸다.

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단계

  1. macOS 15 “시스템 설정 → 네트워크 → 세부 정보 → 프록시”에서 PAC 덤프 후 URL 보관.
  2. nc -vz -X connect -x proxy:port mini-host 22CONNECT 시험.
  3. ICMP가 허용되면 ping으로 VPN 유무 RTT 비교—아니면 ssh -G로 해석된 설정 출력.
  4. TCP 킵얼라이브 글에 따라 키프얼라이브 겹쳐 유휴 CONNECT 재활용 방지.
  5. 대용량 복사가 중간에 멈추면 PMTUD 글MTU 검증.
  6. DMZ 베스천에 깨끗한 22가 있으면 점프 시도점프 글.
  7. 마스킹한 프록시 호스트명을 Git에 미러해 감사 대비.
  8. 1–6을 같은 날 두 번 재현한 뒤에만 pcap으로 에스컬레이션.

ProxyCommand와 ProxyJump를 순환 없이 쌓기

많은 팀이 DMZ에 작은 베스천을 두어 거기서는 나가는 22가 열리고 노트북은 잠긴 채다. 첫 홉에 ProxyJump bastion, 노트북→기업 프록시 다리에 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 / US mini는 오토스케일 후 이름이 바뀌는 일회성 VM을 쫓지 않고, 프록시 기기에 한 번 화이트리스트하면 되는 장수 호스트명을 준다. CONNECT와 호스트 키가 안정되면 자동화 에이전트, Xcode 빌드, 컴플라이언스 스캐너를 보안팀이 이미 승인한 동일 금속에 올릴 수 있다. 리전별 요금으로 DR용 두 번째 mini를 정당화하고, TCC 프롬프트에는 VNC를 병행한다—SSH만으로는 “허용”을 누를 수 없다.

한 번 화이트리스트하면 오래 쓰는 mini

HK / JP / KR / SG / US · 안정적인 SSH 엔드포인트