웹 커밋 서명 정보
웹 커밋 서명을 사용하도록 설정하면 GitHub Enterprise Server에서 자동으로 GPG를 사용하여 사용자가 GitHub Enterprise Server 인스턴스의 웹 인터페이스에서 커밋에 서명합니다. GitHub Enterprise Server이(가) 서명한 커밋은 확인된 상태가 됩니다. 자세한 내용은 "커밋 서명 확인 정보"을 참조하세요.
웹 커밋 서명을 사용하도록 설정하고, 웹 커밋 서명에 사용하는 프라이빗 키를 회전하고, 웹 커밋 서명을 사용하지 않도록 설정할 수 있습니다.
웹 커밋 서명을 사용하도록 설정
-
관리 셸에서 PGP 키를 만듭니다. 메일 주소와 키 ID를 기록해 둡니다.
Shell gpg --full-generate-key --pinentry-mode=loopback
- 만료 없이 기본 키 유형과
4096
비트 이상을 사용합니다. - 사용자 이름으로
web-flow
를 사용합니다. 를 사용할 수 없거나 사용할 수 없는 경우web-flow
새 고유한 사용자 이름을 사용합니다. 이 문서의 다음 단계에서 이 사용자 이름을 사용합니다. - 관리 콘솔에 정의된 회신 금지 이메일 주소가 있는 경우 해당 이메일 주소를 사용합니다. 그렇지 않은 경우 이메일 주소(예:
web-flow@my-company.com
)를 사용합니다. 이메일 주소는 유효하지 않아도 됩니다.
- 만료 없이 기본 키 유형과
-
PGP 키는 암호로 보호될 수 없습니다. 1. 키를 GitHub Enterprise Server에 대한 환경 변수로 정의하고
<YOUR-KEY-ID>
를 GPG 키 ID로 바꿉니다.Shell ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')" ``` 1. GitHub Enterprise Server의 커밋 서명 서비스에 대한 설정을 업데이트합니다. ```bash{:copy} sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
-
웹 커밋 서명을 사용하도록 설정합니다.
Shell ghe-config app.github.web-commit-signing-enabled true
-
구성을 적용한 다음 구성 실행이 완료될 때까지 기다립니다.
Shell ghe-config-apply
-
기본 제공 인증 또는 외부 인증을 통해 GitHub Enterprise Server 인스턴스에서 새 사용자를 만듭니다. 자세한 내용은 "엔터프라이즈 인증 정보"을 참조하세요.
- 사용자의 사용자 이름은 위의 1단계에서 PGP 키를 만들 때 사용한 것과 동일한 사용자 이름이어야 합니다(예:
web-flow
). - 사용자의 전자 메일 주소는 PGP 키를 만들 때 사용한 것과 동일한 주소여야 합니다. 1. 다음 명령을 실행하여 KEY-ID를 PGP 키 ID로 바꿉니다.
Shell gpg --armor --export KEY-ID
- 사용자의 사용자 이름은 위의 1단계에서 PGP 키를 만들 때 사용한 것과 동일한 사용자 이름이어야 합니다(예:
-
-----BEGIN PGP PUBLIC KEY BLOCK-----
으로 시작하고-----END PGP PUBLIC KEY BLOCK-----
으로 끝나는 PGP 키를 복사합니다. -
웹 커밋 서명을 위해 만든 사용자로 GitHub Enterprise Server에 로그인합니다(예:
web-flow
). -
사용자 프로필에 공용 PGP 키를 추가합니다. 자세한 내용은 "GitHub 계정에 GPG 키 추가"을 참조하세요.
참고: GPG 키 목록에서 다른 공개 키를 제거하지 마세요. 공개 키가 삭제되면 해당 프라이빗 키로 서명된 모든 커밋은 더 이상 확인된 것으로 표시되지 않습니다.
-
“Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다. 1. " 사이트 관리자" 사이드바에서 관리 콘솔를 클릭합니다.
-
"설정" 사이드바에서 Email 클릭합니다.
-
"회신 없음 전자 메일 주소"에서 PGP 키를 만들 때 사용한 것과 동일한 전자 메일 주소를 입력합니다.
참고: GitHub Enterprise Server 인스턴스에 대해 전자 메일을 사용하도록 설정한 경우에만 "회신 없음 전자 메일 주소" 필드가 표시됩니다. 자세한 내용은 "알림에 대한 메일 구성"을 참조하세요.
참고: 관리 콘솔에 설정을 저장하면 시스템 서비스가 다시 시작되어 사용자에게 표시되는 가동 중지 시간이 발생할 수 있습니다.
-
구성 실행이 완료될 때까지 기다립니다.
웹 커밋 서명에 사용하는 프라이빗 키 회전
-
관리 셸에서 PGP 키를 만듭니다. 메일 주소와 키 ID를 기록해 둡니다.
Shell gpg --full-generate-key --pinentry-mode=loopback
- 만료 없이 기본 키 유형과
4096
비트 이상을 사용합니다. - 웹 커밋 서명 사용자의 사용자 이름(예:
web-flow
)을 사용합니다. - 관리 콘솔에 정의된 회신 없음 전자 메일 주소를 사용합니다. 이 주소는 웹 커밋 서명 사용자의 이메일 주소와 동일해야 합니다(예
web-flow
: ).
- 만료 없이 기본 키 유형과
-
PGP 키는 암호로 보호될 수 없습니다. 1. 키를 GitHub Enterprise Server에 대한 환경 변수로 정의하고
<YOUR-KEY-ID>
를 GPG 키 ID로 바꿉니다.Shell ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')" ``` 1. GitHub Enterprise Server의 커밋 서명 서비스에 대한 설정을 업데이트합니다. ```bash{:copy} sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl ``` 1. 다음 명령을 실행하여 KEY-ID를 PGP 키 ID로 바꿉니다. ```bash{:copy} gpg --armor --export KEY-ID
-
-----BEGIN PGP PUBLIC KEY BLOCK-----
으로 시작하고-----END PGP PUBLIC KEY BLOCK-----
으로 끝나는 PGP 키를 복사합니다. -
웹 커밋 서명을 위해 만든 사용자로 GitHub Enterprise Server에 로그인합니다(예:
web-flow
). -
사용자 프로필에 공용 PGP 키를 추가합니다. 자세한 내용은 "GitHub 계정에 GPG 키 추가"을 참조하세요.
참고: GPG 키 목록에서 다른 공개 키를 제거하지 마세요. 공개 키가 삭제되면 해당 프라이빗 키로 서명된 모든 커밋은 더 이상 확인된 것으로 표시되지 않습니다.
웹 커밋 서명을 사용하지 않도록 설정
GitHub Enterprise Server 인스턴스에 대한 웹 커밋 서명을 사용하지 않도록 설정할 수 있습니다.
-
관리 셸에서 다음 명령을 실행합니다.
Shell ghe-config app.github.web-commit-signing-enabled false
-
구성을 적용합니다.
Shell ghe-config-apply