Skip to main content

커밋 서명 확인 정보

GPG, SSH 또는 S/MIME를 사용하여 태그에 서명하고 로컬로 커밋할 수 있습니다. 이러한 태그 또는 커밋은 GitHub Enterprise Server에서 확인된 것으로 표시되므로 다른 사용자가 신뢰할 수 있는 원본에서 변경 내용을 확인할 수 있습니다.

커밋 서명 확인 정보

커밋 및 태그에 로컬로 서명하여 다른 사용자에게 변경 내용의 출처에 대한 확신을 줄 수 있습니다. 커밋 또는 태그에 암호화적으로 확인할 수 있는 GPG, SSH 또는 S/MIME 서명이 있는 경우 GitHub Enterprise Server는 커밋 또는 태그 “확인됨”을 표시합니다.

리포지토리에 대한 커밋 목록의 커밋 스크린샷. "확인됨"이 주황색 윤곽선으로 강조 표시됩니다.

커밋 또는 태그에 확인할 수 없는 서명이 있는 경우 GitHub Enterprise Server에서는 해당 커밋 또는 태그를 "미확인"으로 표시합니다.

대부분의 개별 사용자의 경우 GPG 또는 SSH가 커밋 서명에 가장 적합한 선택입니다. S/MIME 서명은 일반적으로 대규모 조직에서 필요합니다. SSH 서명은 가장 간단하게 생성할 수 있습니다. 기존 인증 키를 GitHub Enterprise Server에 업로드하여 서명 키로 사용할 수도 있습니다. GPG 서명 키 생성은 SSH 키를 생성하는 것보다 더 복잡하지만 GPG에는 SSH에 없는 기능이 있습니다. GPG 키는 더 이상 사용되지 않을 때 만료되거나 철회될 수 있습니다. GitHub Enterprise Server에는 키가 손상된 것으로 표시되지 않는 한 “확인됨”과 같은 키로 서명된 커밋이 표시됩니다. SSH 키에는 이 기능이 없습니다.

재지정 및 병합용 서명 확인

끌어오기 요청에서 다시 지정 및 병합 옵션을 사용하는 경우 커밋 서명 확인 없이 헤드 분기의 커밋이 기본 분기에 추가된다는 점에 유의해야 합니다. 이 옵션을 사용하면 GitHub는 원래 커밋의 데이터와 콘텐츠를 사용하여 수정된 커밋을 만듭니다. 즉, GitHub는 이 커밋을 실제로 만들지 않았으므로 일반 시스템 사용자로 서명할 수 없습니다. GitHub는 커밋자의 프라이빗 서명 키에 액세스할 수 없으므로 사용자를 대신하여 커밋에 서명할 수 없습니다.

이에 대한 해결 방법은 로컬로 다시 지정 및 병합한 다음 변경 내용을 끌어오기 요청의 기본 분기로 푸시하는 것입니다.

자세한 내용은 "GitHub에서의 병합 메서드 정보"을(를) 참조하세요.

리포지토리 관리자는 분기에 필요한 커밋 서명을 적용하여 서명 및 확인되지 않은 모든 커밋을 차단할 수 있습니다. 자세한 내용은 "보호된 분기 정보"을(를) 참조하세요.

GitHub Enterprise Server에서 서명된 커밋 또는 태그의 확인 상태를 확인하고 커밋 서명이 확인되지 않은 이유를 확인할 수 있습니다. 자세한 내용은 "커밋 및 태그 서명 확인 상태 확인"을 참조하세요.

사이트 관리자가 웹 커밋 서명을 사용하도록 설정한 경우 GitHub Enterprise Server은(는) 자동으로 GPG를 사용하여 웹 인터페이스를 사용하여 커밋에 서명합니다. GitHub Enterprise Server이(가) 서명한 커밋은 확인된 상태가 됩니다. https://HOSTNAME/web-flow.gpg에서 사용할 수 있는 퍼블릭 키를 사용하여 로컬로 서명을 확인할 수 있습니다. 자세한 내용은 "웹 커밋 서명 구성"을(를) 참조하세요.

GPG 커밋 서명 확인

GPG를 사용하여 직접 생성하는 GPG 키를 사용하여 커밋에 서명할 수 있습니다.

GitHub Enterprise Server은(는) OpenPGP 라이브러리를 사용하여 GitHub Enterprise Server 인스턴스에서 계정에 추가한 공개 키에 대해 로컬로 서명된 커밋 및 태그를 암호화하여 확인할 수 있는지 확인합니다.

GPG를 사용하여 커밋에 서명하고 GitHub Enterprise Server에서 해당 커밋을 확인하려면 다음 단계를 수행합니다.

  1. 기존 GPG 키 확인
  2. 새 GPG 키 생성
  3. GitHub 계정에 GPG 키 추가
  4. 서명 키에 대해 Git에 알리기
  5. 커밋 서명
  6. 태그 서명

SSH 커밋 서명 확인

SSH에서 직접 생성하는 SSH 키를 사용하여 커밋에 서명할 수 있습니다. 자세한 내용은 user.Signingkey에 대한 Git 참조 설명서를 참조하세요. 이미 SSH 키를 사용하여 GitHub Enterprise Server(으)로 인증한 경우 서명 키로 사용하기 위해 동일한 키를 다시 업로드할 수도 있습니다. 계정에 추가할 수 있는 서명 키의 개수에는 제한이 없습니다.

GitHub Enterprise Server은(는) 오픈 소스 Ruby 라이브러리인 ssh_data를 사용하여 GitHub Enterprise Server 인스턴스에서 계정에 추가한 공개 키에 대해 로컬로 서명된 커밋 및 태그를 암호화하여 확인할 수 있는지 확인합니다.

참고: SSH 서명 확인은 Git 2.34 이상에서 사용할 수 있습니다. Git 버전을 업데이트하려면 Git 웹 사이트를 참조하세요.

SSH를 사용하여 커밋에 서명하고 GitHub Enterprise Server에서 해당 커밋을 확인하려면 다음 단계를 수행합니다.

  1. 기존 SSH 키 확인
  2. 새 SSH 키 생성
  3. GitHub 계정에 SSH 서명 키 추가
  4. 서명 키에 대해 Git에 알리기
  5. 커밋 서명
  6. 태그 서명

S/MIME 커밋 서명 확인

S/MIME를 사용하여 조직에서 발급한 X.509 키로 커밋에 서명할 수 있습니다.

GitHub Enterprise Server은(는) Mozilla 브라우저에서 사용하는 것과 동일한 신뢰 저장소인 Debian ca-certificates 패키지를 사용하여 신뢰할 수 있는 루트 인증서의 퍼블릭 키에 대해 로컬로 서명된 커밋 및 태그를 암호화하여 확인할 수 있는지 확인합니다.

참고: S/MIME 서명 확인은 Git 2.19 이상에서 사용할 수 있습니다. Git 버전을 업데이트하려면 Git 웹 사이트를 참조하세요.

S/MIME를 사용하여 커밋에 서명하고 GitHub Enterprise Server에서 해당 커밋을 확인하려면 다음 단계를 수행합니다.

  1. 서명 키에 대해 Git에 알리기
  2. 커밋 서명
  3. 태그 서명

퍼블릭 키를 GitHub Enterprise Server에 업로드할 필요가 없습니다.

추가 참고 자료