오류
ERROR: You're using an RSA key with SHA-1, which is no longer allowed.
Please use a newer client or a different key type.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
새로운 환경에서 ssh-keygen을 사용할 수 없는 상황이라 온라인으로 RSA 키를 생성하고 GitHub Push 했는데 오류가 발생했습니다.
원인
공식 블로그(Improving Git protocol security on GitHub | The GitHub Blog)에 따르면 이제는 SHA-1 서명을 사용하는 RSA 키는 사용할 수 없다고 합니다.
해결
RSA
키를 사용하려면 SHA-2
서명으로 진행할 수 있습니다.
또는
ECDSA
, Ed25519
암호화를 사용할 수 있습니다.
커맨드로 키를 생성하는 방법과 온라인으로 키를 생성하는 방법을 나누어서 설명하겠습니다.
ssh-keygen으로 key 생성
$ ssh-keygen -t rsa -b 4096
$ ssh-keygen -t ecdsa -b 521
$ ssh-keygen -t ed25519
.ssh 폴더로 이동 (보통 루트 경로에 있음)
$ cat id_rsa
$ cat id_rsa.pub
$ cat id_ecdsa
$ cat id_ecdsa.pub
$ cat id_ed25519
$ cat id_ed25519.pub
.pub
가 public key 이고
.pub
없는 것이 private key 입니다.
private key 를 서버에 저장하고 public key 를 외부에서 사용하면 됩니다.
온라인으로 key 생성
만약 ssh-keygen 을 사용할 수 없는 환경이거나 다른 이유로 커맨드를 사용할 수 없다면 온라인으로 키를 만들 수 있습니다.
Generate SSH Key Pair Online (wpoven.com)
원하는 암호화의 Type과 Length를 설정하고 키를 생성하세요.
Private Key 를 복사해 각 암호화 타입에 맞게 id_rsa
, id_ecdsa
, id_ed25519
로 파일을 생성하고
서버의 .ssh 폴더 내에 저장합니다. (만약 .ssh 폴더가 없다면 루트에 .ssh 폴더를 생성 후 저장하세요.)
Public Key 를 복사해 외부에서 사용하면 됩니다. (예를 들어 GitHub SSH Key 등록)
주의할 점은 해당 화면에서는 다시는 볼 수 없으니 해당 키를 어딘가에 보관해야 한다는 점입니다.
참고자료
'Development > Git' 카테고리의 다른 글
git :: remote force pull / 원격 브랜치 강제로 pull (0) | 2022.09.10 |
---|---|
Cafe24 웹 호스팅 서버에 GitHub 연동하기 (0) | 2022.08.26 |
git :: error failed to push some refs to 오류 해결 (0) | 2022.06.13 |
GitHub: git not autorized 오류 (0) | 2022.01.08 |
Git :: 설치부터 기본 사용법까지 (3) - git 으로 협업(팀프로젝트)하기 (1) | 2021.12.14 |