보안

자격 증명 헬퍼

Gitcito는 서로 다른 세 종류의 비밀을 다루는데, 사람들은 당연하다는 듯이 이것들을 하나로 여겨요.

보관하는 곳
호스트 API 토큰 — PR, 이슈, CI 검사 Gitcito가 OS 키체인에
git@… 전송 시스템 ssh 에이전트를 통한 당신의 SSH 키
https:// 전송 git 자신의 자격 증명 헬퍼

세 번째 것은 잘못되기 전까지는 누구도 기능이라고 생각하지 않다가, 일이 터지면 git에서 가장 흔한 두 가지 불만을 만들어 내요. 왜 또 물어보지? 그리고 왜 내가 폐기한 토큰을 아직도 보내지?

⌘K → 자격 증명 헬퍼.

설정된 헬퍼, 호스트별 규칙, 그리고 평문 파일 경고

지금 보고 있는 것

설정된 모든 credential.helper 가, 그것이 온 범위별로 — system, global, 그 다음 이 저장소 순서로 — 보여요. 헬퍼는 쌓여요. git은 차례로 각각에게 묻고, 저장소 수준의 헬퍼가 전역 헬퍼를 대체하지 않아요.

각 항목은 당신의 컴퓨터를 상대로 확인돼요.

표시 뜻
준비됨 헬퍼 프로그램이 존재하고 실행될 거예요
설치되지 않음 설정은 돼 있지만 프로그램이 없어요 — 모든 요청이 결국 다시 직접 입력하는 것으로 떨어져요
비밀번호가 평문 파일에 store 헬퍼예요 (아래 참고)

특정 호스트를 위한 규칙에는 credential.<url>.* 섹션이 나열돼요. 이 규칙은 일치하는 URL에 대해 일반 설정보다 우선하고, "왜 이 호스트만 다르게 동작하지"에 대한 답인 경우가 많아요.

하나 고르기

헬퍼 비밀번호가 가는 곳
osxkeychain macOS 키체인 — 암호화되고 사용자별로 분리돼요
manager Git Credential Manager (Windows, 크로스 플랫폼)
wincred Windows 자격 증명 관리자
libsecret 리눅스 시크릿 서비스 (GNOME Keyring, KWallet)
cache 메모리에 15분간. 디스크에는 아무것도 남지 않아요
store 홈 디렉터리의 평문 파일. 암호화되지 않아요

Gitcito는 이 컴퓨터에 실제로 설치된 것만 제시하고, 당신의 OS에 맞는 것을 표시하며, 나머지는 흐리게 처리해요.

범위가 중요해요. 모든 저장소에 는 전역 설정에 쓰는 것이고 거의 언제나 이쪽을 원하실 거예요. 이 저장소에만 은 다른 곳으로 인증하는 별난 저장소를 위한 선택이에요.

store 헬퍼와 ~/.git-credentials

store 는 https://user:password@host 형태의 줄을 ~/.git-credentials 에 평문으로, 어떤 종류의 암호화도 없이 써요. 당신 권한으로 실행되는 것이라면 무엇이든 읽을 수 있어요. 스크립트든, 어떤 의존성의 postinstall이든, 무엇이든요.

그 파일이 있으면 이 화면이 그 사실을 알리고 항목 수를 세어 줘요. 내용을 보여 주는 일은 절대 없어요 — 개수 자체가 요점이고, 보여 주려고 내용을 읽는 것은 똑같은 실수일 테니까요.

파일을 발견했는데 의도한 게 아니었다면, 여기서 제대로 된 헬퍼를 고르고, 그 파일을 지운 뒤, 한 번 다시 인증하세요.

저장된 자격 증명 잊기

토큰이 폐기되거나 교체되면 헬퍼는 계속 옛것을 건네주고, 모든 푸시는 아무것도 알려 주지 않는 401로 실패해요. 잊기는 설정된 헬퍼에게 그 호스트에 대한 항목을 지우라고 요청해요 — git credential reject, 즉 git 자신이 문서화한 경로예요.

그 과정에서 읽는 것은 아무것도 없어요. Gitcito는 살아 있는 비밀번호를 표준 출력에 찍어 낼 명령인 git credential fill 을 결코 호출하지 않아요.

다음 푸시에서 한 번 묻고, 헬퍼가 새 답을 저장해요.

알아 둘 만한 한계

  • 이건 git의 저장소지 Gitcito의 것이 아니에요. 여기를 바꾸면 터미널의 동작도 바뀌어요 — 그게 요점이지만, 바꾸기 전에 알아 둘 만한 사실이에요.
  • 시스템 수준 헬퍼는 보이기만 하고 편집할 수 없어요. 관리자만 쓸 수 있는 설정 파일에 있으니까요.
  • Gitcito는 헬퍼가 무엇을 갖고 있는지 나열할 수 없어요. 비밀을 넘겨주지 않고 그걸 알려 주는 자격 증명 API는 없어서, 이 대화 상자는 설정을 보고하고 요청에 따라 지우는 일만 해요.
  • Gitcito에 준 토큰은 별개예요. 한쪽을 폐기해도 다른 쪽은 그대로예요. 키체인 쪽은 보안을 보세요.

함께 보기: 보안 · SSH 키 · 동기화

GitHub에서 이 번역 개선하기