GitHub에서 갑자기 SSH 키 인증이 거부되는 현상이 발생함
문제 해결 결과, `.pub` 파일이 없으면 인증이 실패하는 것으로 나타남
GitHub 측의 서버 소프트웨어 변경이 원인으로 추정됨
RFC 4252 표준과 달리, GitHub가 특정 인증 흐름을 거부하는 것으로 보임
커뮤니티에서는 `.pub` 파일의 존재 유무에 따라 SSH 클라이언트의 인증 흐름이 달라진다는 점에 주목하고 있습니다. `.pub` 파일이 있을 경우, 클라이언트는 먼저 공개 키를 서버에 제시하고 응답을 기다리는 탐색(Probing) 단계를 거칩니다. 반면, `.pub` 파일이 없으면 개인 키만으로 직접 서명된 인증 요청을 보내는데, GitHub의 새로운 서버 소프트웨어(6a2c000)가 이 직접 서명 방식을 거부하는 것으로 보인다는 분석입니다.
다수의 사용자가 오늘(발표 시점 기준) 갑자기 SSH 키 인증 문제를 겪었으며, GitHub 측의 공식적인 사전 공지 없이 발생했다는 점이 지적됩니다. 이는 서버 측의 예기치 못한 변경이 있었음을 시사하며, 과거에도 유사한 사례가 있었다는 언급도 있습니다. 일부 사용자는 ed25519 키로 교체하거나 키를 재발급하는 방식으로 문제를 해결했지만, 근본적인 원인 파악에는 시간이 더 필요해 보입니다.
오랜 기간 SSH를 사용해왔음에도 `.pub` 파일의 중요성을 인지하지 못했던 개발자들이 많았습니다. `.pub` 파일은 단순히 공개 키를 담는 것을 넘어, OpenSSH 클라이언트가 서버와 통신하는 인증 프로토콜(Authentication Protocol)에 영향을 미치는 것으로 보입니다. RFC 4252 표준상으로는 두 방식 모두 유효하지만, GitHub의 특정 구현이 이를 따르지 않아 문제가 발생한 것으로 추정됩니다.
갑작스러운 SSH 키 인증 실패는 계정 보안 침해(Account Compromise)에 대한 우려를 낳았습니다. 특히, 일부 사용자는 계정 복구 과정에서 SSH 키가 만료되어 접근 권한을 완전히 잃는 경험을 공유하기도 했습니다. 이는 SSH 키 관리의 중요성과 함께, 다중 인증(Multi-Factor Authentication) 및 백업 전략의 필요성을 다시 한번 강조합니다.