2026원격 MacSFTPSSHFIDO2SSH CAOIDCCI

2026 원격 Mac SFTP/SSH와 FIDO2 하드웨어 키(ecdsa-sk/ed25519-sk): PIN·터치, 헤드리스 CI 충돌, SSH CA/OIDC 의사결정 매트릭스

FIDO2(ecdsa-sk/ed25519-sk)는 피싱 방어에 강하지만 PIN과 터치가 헤드리스 CI와 충돌합니다. FIDO2-sk, SSH 사용자 인증서, OIDC 배포를 비교하고 known_hosts, OIDC, SSH CA, 병렬 SFTP, MaxAuthTries로 연결합니다.

FIDO2SSH CAOIDCCI
2026 원격 Mac SFTP SSH FIDO2

통증 분해

통증 1: FIDO2-sk를 단순 강한 공개키로 보면 PIN 잠금·프레즌스 타임아웃으로 실패가 흩어집니다.

통증 2: 사람과 CI가 authorized_keys를 공유하면 야간 연쇄 실패와 MaxAuthTries가 겹칩니다.

통증 3: known_hosts 없이는 호스트 신원이 고정되지 않습니다.

통증 4: 느릴 때 먼저 병렬 SFTP를 의심합니다.

위협 모델과 관측

클라이언트 강화와 호스트 증명은 다른 층

FIDO2 기반 ecdsa-sk/ed25519-sk는 키 유출에 대한 회복탄력을 높이지만, 잘못된 호스트로의 연결이나 중간자 위협을 자동으로 막지는 않습니다. known_hosts 고정 없이 “키만 강하면 된다”로 가면 운영 사고가 남습니다.

프레즌스·PIN이 임계 경로에 올라오는 이유

-O verify-required와 터치 확인은 사람 전제입니다. 에페메럴 GitHub Actions 러너는 USB 토큰 상주나 PIN UI를 안정적으로 제공할 수 없어 잡음 같은 실패가 납니다. 야간 재시도가 MaxAuthTries나 속도 제한에 걸리면, 낮의 정상 작업까지 연쇄적으로 막힐 수 있습니다.

계정 분리가 가장 빠른 현장 처방

현실적인 해법은 sshd_configMatch User로 엔지니어(FIDO2-sk)와 ci_upload(인증서/OIDC 전용)를 나누고 authorized_keys를 한 파일에 섞지 않는 것입니다. 사람용 키를 CI 시크릿에 넣는 설계는 순환·감사 모두에서 깨지기 쉽습니다.

SSH 사용자 인증서 vs OIDC는 다른 부채

사용자 인증서는 서명 키 보호와 일련번호 폐지가 핵심이고, OIDC는 audience와 환경 보호 규칙 드리프트가 핵심입니다. OIDC 글SSH CA 글을 같은 Runbook에 넣고, 어떤 경로가 어떤 로그를 내는지 먼저 표로 고정하면 온콜 추측이 줄어듭니다.

전송 지연과 인증 실패를 섞지 않기

대용량 아티팩트에서 병렬 SFTP가 막히면 체감은 로그인 실패와 비슷합니다. RTT, 대역, p95, sshd 인증 로그를 분리해 보지 않으면 FIDO2 탓만 하게 됩니다.

정량 기준

터치 기반 SSH는 보통 2~8초의 추가 지연이 붙습니다. 파이프라인 SLO에 여유가 없다면 애초에 CI 경로에 FIDO2를 두지 않는 결정이 먼저입니다.

SSH 사용자 인증서는 TTL 20%를 넘기기 전에 갱신 잡이 돌았는지 알람을 걸고, 실패가 “키 무효”인지 “발급 파이프라인 병목”인지 분리합니다.

OIDC는 천 빌드당 실패율이 튀면 audience/issuer/환경 범위를 먼저 의심하고, 다음으로 IdP 레이트 리밋을 봅니다.

SFTP는 동시 세션·전송 바이트·인증 실패를 서로 다른 시계열로 저장해 대시보드에서 상관시키는 것이 안전합니다.

매트릭스

경로호출자이점비용
FIDO2 *-sk엔지니어피싱 방어터치/PIN vs CI
SSH자동화짧은 TTLCA 운영
OIDC호스팅 러너하드 불필요IdP 의존
하이브리드대규모절충principal 분리

단계

# ssh-keygen example
# ssh-keygen -t ed25519-sk -O verify-required

1단계: 호출자 분류.

2단계: Match로 CI에서 verify-required 분리.

3단계: CA/OIDC에 TTL 대시보드.

4단계: 러너 known_hosts 고정.

5단계: SFTP 병렬 조정.

6단계: 소규모 회귀 기록.

읽기 순서

먼저 이 글로 “FIDO2를 어디에 둘지”를 정한 뒤, 아래 순서가 읽기 쉽습니다: known_hostsOIDCSSH CA병렬 SFTPMaxAuthTries.

Apple 실리콘 원격 빌드에서 아티팩트가 큰 팀은 인증만 먼저 강화하면 “느리다=키 문제”라는 잘못된 학습이 생기기 쉽습니다. 전송 병목 분리를 먼저 고정한 다음 FIDO2-sk 적용 범위를 줄이면 결정이 안정됩니다.

보안 검토에서는 사람 로그인과 CI 배포를 한 스프레드시트로 섞지 마세요. principal·호스트·파이프라인 ID를 키로 한 별도 표가 감사에 유리합니다.

FAQ

FIDO2가 CA 완전 대체?

목적이 달라 병용합니다.

OIDC가 루트 권한?

최소 권한과 OIDC 글을 따릅니다.

터치 실패 첫 조치?

USB 전원·도킹, sshd 로그, 공유 계정 순입니다.

요약: FIDO2-sk는 사람 쪽에 강하지만 CI·호스트·전송 과제는 남습니다.

한계: 자체 풀은 정렬 비용이 큽니다.

대비: SFTPMAC 호스팅 원격 Mac은 운영을 제품화해 임대로 안정 리듬을 얻기 쉽습니다.

사람 FIDO2와 자동화를 principal로 분리.