IT/VCS

[git] gitlab 접속시 pageant 로 ssh 키 사용하는 가이드

심량 2025. 2. 19. 13:53

GitLab 접속 시 Pageant를 활용해 SSH 키를 안전하고 간편하게 관리하는 방법을 단계별로 안내합니다.

GitLab 이용에 필요한 SSH 접속 설정 과정을 쉽고 빠르게 따라할 수 있도록 설명합니다.

 

GitLab SSH 키 등록하기

 

GitLab 로그인 및 SSH Keys 접근

GitLab 홈페이지(gitlab.com)에 로그인 후, 상단 메뉴에서 SSH Keys 항목을 찾습니다.

등록된 프로젝트가 없으면 작업 대시보드에 기본 예시 이미지가 표시될 수 있습니다.



SSH 키 등록

Add new key 버튼을 클릭합니다.

생성한 공개키 내용을 복사하여 입력한 후 저장합니다.

GitLab 대시보드 및 사용자 설정 확인

대시보드 구성

왼쪽 최상단의 여우 아이콘은 홈페이지 링크입니다.

gitlab 대시보드

그 오른쪽에 사각형 아이콘, + 아이콘, 사용자 프로필 아이콘이 순서대로 위치해 있습니다.

gitlab 사용자 프로필

사용자 설정 변경

Preferences 링크를 클릭하면 메뉴 그룹이 Your work에서 User Settings로 변경됩니다.

여기서 SSH Keys 메뉴를 확인할 수 있습니다.

gitlab 사용자 설정
gitlab SSH Keys
gitlab SSH Keys 추가

Pageant를 통한 SSH 키 관리

Pageant 실행 및 키 추가

Pageant를 실행한 후, 생성한 SSH 키를 Add Key 버튼을 통해 추가합니다.

pageant 실행 화면

참고: PuTTY 용 키인 .ppk 파일로 변환된 키만 사용할 수 있습니다.

Git 접속 도구 선택

윈도우용 Git은 기본적으로 ssh.exe를 사용하지만, 이는 Pageant와 연동되지 않습니다.

해결방법: PuTTY가 제공하는 plink.exe를 사용하면 Pageant와 연동하여 SSH 키로 접속할 수 있습니다.

GIT_SSH 환경 변수 설정

시스템 환경 변수에 등록

제어판 > 시스템 및 보안 > 시스템 > 고급 시스템 설정 > 고급 탭의 환경 변수 항목에서 GIT_SSH 값을 추가합니다.

값으로는 C:\Program Files\PuTTY\plink.EXE와 같이 plink.exe의 경로를 지정합니다.

일회성 설정

만약 cmd.exe에서 한 번만 사용하려면 아래 명령어를 입력합니다.

set GIT_SSH=C:\Program Files\PuTTY\plink.EXE

 

SSH 접속 테스트

cmd.exe를 열고 아래 명령어를 실행해 SSH 접속을 확인합니다.

%GIT_SSH% git@gitlab.com

처음 접속 시, 서버의 호스트 키가 캐시에 없다는 경고 메시지가 표시됩니다.

서버의 SSH 키 지문이 출력되면 신뢰할 경우 y를 입력해 캐시에 추가합니다.

이후 "Using username 'git'"과 함께 접속이 진행되며, GitLab 환영 메시지가 출력됩니다.

예시 출력:

D:\doc\vcs\project1> %GIT_SSH% git@gitlab.com
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's ssh-ed12345 key fingerprint is:
ssh-ed12345 255 1a:2b:3c:4d:5e:6f:70:81:92:a3:b4:c5:d6:e7:f8:09
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n) y
Using username "git".
Access granted. Press Return to begin session.
Server refused to allocate pty
Welcome to GitLab, @your_gitlab_id

Git 명령어를 통한 원격 저장소 테스트

원격 저장소 설정 변경

테스트를 위해 빈 저장소를 생성한 후, 기존 원격 저장소 이름을 변경하고 새로 추가합니다.

git remote rename origin old-origin
git remote add origin git@gitlab.com:your_gitlab_id/project1.git

전체 브랜치 Push

git push -u origin --all

 

성공 시, 아래와 유사한 메시지가 출력됩니다.

Counting objects: 6573, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3093/3093), done.
Writing objects: 100% (6573/6573), 405.16 MiB | 5.60 MiB/s, done.
Total 6573 (delta 3873), reused 6041 (delta 3431)
remote: Resolving deltas: 100% (3873/3873), done.
To gitlab.com:your_gitlab_id/project1.git
 * [new branch]      master -> master
 * [new branch]      debugging -> debugging
Branch 'master' set up to track remote branch 'master' from 'origin'.
Branch 'debugging' set up to track remote branch 'debugging' from 'origin'.

 

참고: PuTTY 공식 문서: https://www.chiark.greenend.org.uk/~sgtatham/putty/docs.html