HTTPS & SSH protocol with Git
Git 저장소에 접근하는 주요 방법은 HTTPS와 SSH 두 가지가 있다.
우리가 clone 할 때도 많이 봤을 것이다.
HTTPS
- 웹 브라우저에서 사용하는 것과 동일한 보안 프로토콜
- Git 서버와 통신할 때 사용자 이름과 비밀번호 또는 개인 접근 토큰(PAT)을 사용하여 인증
- 장점: 설정이 간단하고 방화벽 친화적입니다. 대부분의 환경에서 별도의 설정 없이 바로 사용가능
- 단점: 매번 인증 정보를 입력해야 할 수 있으며, SSH에 비해 속도가 느림
SSH
- SSH는 암호화된 네트워크 프로토콜
- 보안 키 쌍(개인 키와 공개 키)을 사용하여 인증. 공개 키를 Git 서버에 등록하고, 개인 키를 로컬 시스템에 보관
- 장점: 보안성이 높고, 매번 인증 정보를 입력할 필요가 없어 편리하며, HTTPS에 비해 속도가 빠름
- 단점: SSH 키를 생성하고 서버에 등록하는 설정 과정이 필요하며, 일부 환경에서는 방화벽 설정이 필요
HTTPS와 SSH 차이점
| 특징 | HTTPS | SSH |
|---|---|---|
| 인증 방식 | 사용자 이름/비밀번호 또는 PAT | SSH 키 쌍 (개인 키, 공개 키) |
| 보안 | SSL/TLS 암호화 | SSH 암호화 |
| 속도 | SSH보다 느릴 수 있음 | HTTPS보다 빠름 |
| 설정 | 간단 | 키 생성 및 등록 필요 |
| 편의성 | 매번 인증 정보 입력 필요할 수 있음 | 키 설정 후 인증 정보 입력 불필요 |
| 방화벽 친화성 | 높음 | 일부 환경에서 방화벽 설정 필요할 수 있음 |
Git Credential
Git Credential 설정은 Git이 사용자 인증 정보를 안전하게 저장하고 관리하도록 하는 기능
HTTPS를 사용할 때 매번 사용자 이름과 비밀번호를 입력하는 번거로움을 줄이고, 보안성을 높이기 위해 Credential 설정을 사용할 수 있다.
Git Credential 설정을 위해 여러가지 옵션이 있다.
1. cache helper
cache helper는 인증 정보를 메모리에 임시로 저장하는 방법이다. 기본적으로 15분 동안 유효하며, 이 시간 내에는 인증 정보를 다시 입력할 필요가 없다.
git config --global credential.helper cache
더 긴 시간 동안 캐시를 유지하고 싶다면 --timeout 옵션을 사용하면 된다.(단위: 초).
git config --global credential.helper "cache --timeout=3600"
2. store helper
store helper는 인증 정보를 일반 텍스트 파일 (~/.git-credentials)에 저장한다. 간편하게 사용할 수 있지만, 보안에 취약할 수 있으므로 개인 환경에서만 사용하는 것이 좋다.
git config --global credential.helper store
이를 다른 위치에 저장하려면 --file 옵션을 사용하여 원하는 파일 경로를 지정해 주면 된다.
git config --global credential.helper "store --file ~/.my-git-credentials"
3. Git credential 설정
전체 config 리스트보기
git config --global --list
계정 정보 등록
git config --global user.name "계정명"
git config --global user.email "계정이메일"
설정 삭제하기
git config --unset --global user.name
git config --unset --global user.email
Reference
url: https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage
title: "Git - Credential Storage"
host: git-scm.com728x90
'알쓸신잡' 카테고리의 다른 글
| vLLM 소개 및 설치 가이드 (0) | 2025.03.28 |
|---|---|
| Chrome 텍스트 커서 깜박임 오류 해결 가이드 (0) | 2025.03.27 |
| OpenSource Contribute (0) | 2025.03.14 |
| Vscode Local Port Forwarding (0) | 2025.03.07 |
| ngrok 사용법 (0) | 2025.03.07 |