GitHub SSH 인증키 연결하기

GitHub에 SSH 인증키를 연결하면 git pushgit pull을 실행할 때마다 아이디와 비밀번호를 입력하지 않아도 된다. 전체 흐름은 로컬에서 키를 만들고, SSH agent에 등록한 뒤, 공개키를 GitHub에 추가하고 연결을 테스트하는 순서다.

1. SSH 키 생성

먼저 내 컴퓨터에서 비밀키와 공개키 쌍을 생성한다.

ssh-keygen -t ed25519 -C "your_email@example.com"

기본 파일 경로를 사용하려면 저장 위치 질문에서 Enter를 누른다. Passphrase는 선택 사항이지만, 보안을 위해 설정하는 것이 좋다.

생성된 주요 파일은 다음과 같다.

~/.ssh/id_ed25519      # private key
~/.ssh/id_ed25519.pub  # public key

비밀키는 절대 공유하지 않고, GitHub에는 공개키만 등록한다.

2. SSH Agent에 키 등록

매번 passphrase를 입력하지 않도록 ssh-agent에 키를 등록한다.

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

등록된 키는 다음 명령으로 확인할 수 있다.

ssh-add -l

3. GitHub에 공개키 등록

GitHub CLI를 사용할 수 있다면 아래 명령이 가장 빠르다.

gh ssh-key add ~/.ssh/id_ed25519.pub --title "My-Laptop"

수동으로 등록하려면 공개키 내용을 복사한다.

cat ~/.ssh/id_ed25519.pub

그다음 GitHub의 Settings > SSH and GPG keys > New SSH key로 이동해 공개키를 붙여넣는다.

4. 연결 테스트

GitHub SSH 연결이 정상인지 확인한다.

ssh -T git@github.com

성공하면 다음과 비슷한 메시지가 나온다.

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

인증 성공 메시지가 보이면 SSH 키 연결은 정상이다. GitHub는 SSH shell 접속을 제공하지 않으므로 shell access 관련 안내가 함께 나오는 것은 오류가 아니다.

5. 기존 저장소 원격 주소 변경

이미 HTTPS 주소로 연결된 로컬 저장소라면 원격 주소를 SSH 형식으로 바꾼다.

git remote set-url origin git@github.com:username/repository.git

변경 결과는 다음 명령으로 확인한다.

git remote -v

요약

단계작업명령
1키 생성ssh-keygen -t ed25519 -C "your_email@example.com"
2Agent 등록eval "$(ssh-agent -s)", ssh-add ~/.ssh/id_ed25519
3GitHub 등록gh ssh-key add ~/.ssh/id_ed25519.pub --title "My-Laptop"
4연결 확인ssh -T git@github.com
5원격 주소 변경git remote set-url origin git@github.com:username/repository.git