GitHub RSA 키 등록이 안 된다면? 3072비트 요건과 생성 방법
예전에 등록한 2048비트 RSA 키로는 GitHub 접속이 잘 되는데, 같은 방식으로 만든 새 키는 등록부터 거절된다. 기존 키도 곧 막힐까, 새 키는 어떻게 만들어야 할까?

- 새로 등록하는 RSA SSH 키의 최소 길이는 3072비트다.
- 기존 RSA 키는 SHA-2로 서명할 수 있는 클라이언트에서 계속 쓸 수 있다.
- 등록 오류는 키 길이와 공개키 복사를, 연결 오류는 클라이언트와 인증 결과를 확인한다.
새로 올리는 2048비트 RSA 키는 기준에 못 미친다
GitHub에 RSA 키를 새로 등록하다 막혔다면 키 길이부터 확인한다. GitHub가 9월 22일 발표한 변경에 따라 2026년 10월 14일부터 신규 업로드는 3072비트 이상이어야 한다. 인증용과 서명용에 모두 적용된다.
공개키의 비트 수는 ssh-keygen으로 확인할 수 있다. 아래 경로는 자신이 등록하려는 공개키 파일로 바꾼다.
ssh-keygen -lf ~/.ssh/id_rsa.pub 출력 맨 앞의 숫자가 키의 비트 수다. 뒤에 붙는 SHA256:은 지문 표기이므로, 그것만 보고 실제 접속도 SHA-2 서명을 쓴다고 판단해서는 안 된다. 새 키의 최소 길이와 연결 때 쓰는 서명 방식은 각각 확인할 항목이다.
새 키는 Ed25519로, RSA가 필요하면 길이를 지정한다
GitHub의 생성 가이드는 Ed25519를 기본 예제로 제시한다. 이를 지원하지 않는 환경에서는 RSA 4096비트 예제를 사용할 수 있다. 아래 두 명령 중 환경에 맞는 하나를 선택하며 이메일은 자신의 값으로 바꾼다.
ssh-keygen -t ed25519 -C "[email protected]"
# RSA가 필요한 경우의 대안
ssh-keygen -t rsa -b 4096 -C "[email protected]" 저장 위치를 묻는 단계에서 기존 키와 겹치면 새 이름을 지정한다. 등록할 파일은 개인키가 아니라 같은 이름에 .pub가 붙은 공개키다. RSA 예제의 4096비트는 새 최소 기준인 3072비트보다 큰 선택값이다.
개인 계정에서는 Settings → SSH and GPG keys → New SSH key로 이동한다. 인증용인지 서명용인지 선택한 뒤 공개키의 전체 줄을 넣는다. 길이를 충족해도 앞부분을 빼거나 중간을 잘라 복사하면 형식 오류가 날 수 있다.
공개키의 ssh-rsa라는 글자만으로 교체를 결정하지 않는다
기존 RSA 키도 SHA-256·SHA-512 기반 서명을 사용할 수 있다. OpenSSH는 8.8 릴리스 설명에서 SHA-1 서명을 기본 비활성화하는 것이 RSA 키 자체를 교체하라는 뜻은 아니라고 밝혔다.
ssh-rsa는 공개키 종류를 나타내는 이름인 동시에 SHA-1을 쓰는 서명 방식의 이름이기도 하다. 파일에 그 문자열이 있다는 사실과 접속 시 낡은 서명이 선택된다는 사실은 같지 않다. 이미 등록한 키라면 해당 SSH 프로그램이나 라이브러리가 rsa-sha2-256 또는 rsa-sha2-512를 지원하는지 확인하는 것이 먼저다.
새 키 등록 후에는 성공 메시지의 사용자명을 확인한다
공개키를 추가하고 로컬에서 사용할 키를 설정한 뒤에는 GitHub의 연결 테스트를 실행할 수 있다.
ssh -T [email protected] 처음 접속할 때 호스트 지문 확인이 나오면 GitHub 공식 지문과 대조한다. 인증 성공 메시지에 자신의 사용자명이 나오는지 확인하며, 셸 접근을 제공하지 않는다는 문구는 정상이다. 이 테스트는 성공해도 종료 코드가 1일 수 있다.
SHA-1 서명 중단은 새 키 길이 제한과 다른 일정이다. GitHub는 11월 4일과 12월 9일에 일시 차단을 시험하고, 2027년 1월 13일에 제거할 예정이다. GitHub Enterprise Server에는 3.25에서 적용된다. 새 키를 등록해야 한다면 규격을 맞추고, 이미 돌아가는 자동화라면 실제 실행 환경의 SSH 클라이언트를 점검하는 순서가 맞다.