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