diff --git a/journey/troubleshooting/260217_codex_remote_ssh_login_tunneling.md b/journey/troubleshooting/260217_codex_remote_ssh_login_tunneling.md new file mode 100644 index 0000000..8d09522 --- /dev/null +++ b/journey/troubleshooting/260217_codex_remote_ssh_login_tunneling.md @@ -0,0 +1,28 @@ +# 원격 SSH 환경 Codex 로그인 localhost 콜백 실패 해결 + +**날짜**: 2026-02-17 +**작성자**: admin +**관련 파일**: `~/.codex/auth.json`, `DOCS/journey/troubleshooting/260217_codex_remote_ssh_login_tunneling.md` + +--- + +## 문제 상황 +- 원격 서버에서 `codex login` 실행 시 브라우저에서 `ERR_CONNECTION_REFUSED`, `ERR_CONNECTION_RESET` 발생 +- 원인: 콜백 서버는 원격 `localhost:`에 열리는데 브라우저는 로컬 PC `localhost:`로 접속함 +- 추가 이슈: 이전 인증 링크 재사용 시 `State mismatch` 발생 + +## 해결 방안 +- 원격 서버에서 `codex login` 실행 후 출력된 포트 확인 (예: `1455`) +- 로컬 PC에서 동일 포트로 SSH 터널 실행 + - `ssh -p 51123 -N -L 1455:127.0.0.1:1455 admin@ro-being.com` +- 반드시 **해당 로그인 세션에서 방금 출력된 최신 authorize URL**만 사용 +- 원격 서버에서 `codex login` 프로세스를 유지한 상태로 브라우저 인증 완료 + +## 확인 결과 +- 최신 링크 + 동일 포트 터널 적용 후 인증 성공 +- Codex CLI 로그인 완료 확인 + +## 교훈 +- SSH 원격 인증에서 localhost 콜백 오류는 포트 문제보다 "로컬/원격 localhost 대상 불일치"를 먼저 의심해야 함 +- 터널은 `codex login`이 실제로 콜백 서버를 열어둔 상태에서만 유효함 +- `State mismatch` 재발 방지를 위해 과거 authorize URL 재사용 금지