Gitlab에 ssh key 추가하기

김선은·2024년 8월 5일
0

SSH 키 생성 및 사용

SSH란 무엇인가?

SSH(Secure Shell)는 네트워크 상에서 안전하게 데이터를 교환하기 위한 프로토콜입니다. 특히 원격 서버에 로그인하거나 데이터를 전송할 때 보안을 강화합니다.

SSH 키는 비밀번호 대신 사용될 수 있는 인증 방식입니다. 이는 두 개의 키로 구성된 공개 키 암호화를 사용합니다.

SSH 키 쌍이란?

  • 공개 키 (Public Key): 서버에 저장됩니다. 이 키는 누구나 볼 수 있으며, 서버는 이를 사용해 클라이언트의 신원을 확인합니다.

  • 개인 키 (Private Key): 로컬 컴퓨터에 안전하게 저장됩니다. 이 키는 비밀로 유지되며, 클라이언트가 자신임을 증명하는 데 사용됩니다.

데스크탑 윈도우에서 Gitlab SSH key 만들기

PowerShell를 관리자로 실행하기로 띄워서 아래의 명령어를 입력

SSH 키 생성하기

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • your_email@example.com은 GitLab 계정에 등록된 이메일 주소
  • 이 명령어는 ~/.ssh/ 디렉토리에 id_rsa (개인 키)와 id_rsa.pub (공개 키) 파일을 생성함
  • 키 생성 과정에서 저장 경로를 필요에 따라 설정할 수 있으며, 그냥 엔터키를 계속 누르면 기본 폴더에 만들어짐

4096은 무슨 뜻인가?

  • 4096이나 2048은 생성할 키의 비트 길이를 지정하는 것
  • 2048-bit는 키 생성과 인증 과정이 4096-bit 키 보다 빠르며 일반적으로 많이 쓰임

공개 키 확인하기

cat $env:USERPROFILE\.ssh\id_rsa.pub
  • ssh-rsa로 시작하는 key 값이 나옴
  • git lab의 ssh키에 추가하기

GitLab에 SSH 키 추가

  • User settings의 SSH Keys로 이동하여 add new key를 선택

SSH 키 에이전트에 추가

SSH 키 에이전트는 SSH 연결 세션 동안 개인 키를 메모리에 저장하여 여러 번의 인증을 요구하지 않게 해주는 프로그램입니다. 이를 통해 한 번의 인증으로 여러 번의 SSH 연결을 처리할 수 있습니다. SSH 키를 에이전트에 추가하면, SSH 명령어를 사용할 때마다 비밀번호를 입력하지 않고도 인증할 수 있습니다.

SSH 키 에이전트에 개인 키 추가 방법

1. SSH 에어전트 시작

  • Windows PowerShell에서 SSH 에이전트를 시작하는 명령어
Start-Service ssh-agent

2. SSH 키 에이전트에 개인 키 추가

개인 키를 SSH 에이전트에 추가하는 명령어

ssh-add $env:USERPROFILE\.ssh\id_rsa

이렇게 하면 개인 키가 SSH 에이전트에 추가되어, SSH 연결을 할 때마다 자동으로 인증됩니다.

SSH 에어전트 명령어 오류

윈도우에서 ssh-agent 서비스가 설정이 안되어 있으면 아래와 같은 오류가 발생할 수 있습니다.

해결하기

1. OpenSSH Client 기능 활성화

먼저 Windows 기능에서 OpenSSH Client와 OpenSSH Server가 활성화되어 있는지 확인해야 합니다.

  1. Windows 설정을 엽니다.
  2. 앱을 선택합니다.
  3. 선택적 기능을 클릭합니다.
  4. OpenSSH Client와 OpenSSH Server가 설치되어 있는지 확인합니다. 설치되어 있지 않다면, 기능 추가를 클릭하고 해당 기능을 추가합니다.

2. ssh-agent 서비스 수동으로 시작

  • 윈도우 + R 버튼을 누르고 services.msc를 입력 후 확인을 눌러서 서비스 관리 도구를 엽니다.
  • OpenSSH Authentication Agent 서비스를 찾아 시작합니다.
  • 목록에서 OpenSSH Authentication Agent를 찾아 선택한 후, 오른쪽 클릭하고 시작을 선택합니다.

관련 문서: Windows용 OpenSSH 시작

profile
기록은 기억이 된다

0개의 댓글