Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

웹 커밋 서명 구성

GitHub Enterprise Server의 웹 인터페이스에서 만든 커밋의 자동 서명을 사용하도록 설정할 수 있습니다.

이 기능을 사용할 수 있는 사용자

Site administrators can configure web commit signing for GitHub Enterprise Server 인스턴스.

웹 커밋 서명 정보

웹 커밋 서명을 사용하도록 설정하면 GitHub Enterprise Server에서 자동으로 GPG를 사용하여 사용자가 GitHub Enterprise Server 인스턴스의 웹 인터페이스에서 커밋에 서명합니다. GitHub Enterprise Server이(가) 서명한 커밋은 확인된 상태가 됩니다. 자세한 내용은 "커밋 서명 확인 정보"을 참조하세요.

웹 커밋 서명을 사용하도록 설정하고, 웹 커밋 서명에 사용하는 프라이빗 키를 회전하고, 웹 커밋 서명을 사용하지 않도록 설정할 수 있습니다.

웹 커밋 서명을 사용하도록 설정

  1. 관리 셸에서 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
  1. 웹 커밋 서명을 사용하도록 설정합니다.

    Shell
    ghe-config app.github.web-commit-signing-enabled true
  2. 구성을 적용한 다음 구성 실행이 완료될 때까지 기다립니다.

    Shell
    ghe-config-apply
  3. 기본 제공 인증 또는 외부 인증을 통해 GitHub Enterprise Server 인스턴스에서 새 사용자를 만듭니다. 자세한 내용은 "엔터프라이즈 인증 정보"을 참조하세요.

    • 사용자의 사용자 이름은 위의 1단계에서 PGP 키를 만들 때 사용한 것과 동일한 사용자 이름이어야 합니다(예: web-flow).
    • 사용자의 전자 메일 주소는 PGP 키를 만들 때 사용한 것과 동일한 주소여야 합니다. 1. 다음 명령을 실행하여 KEY-ID를 PGP 키 ID로 바꿉니다.
    Shell
    gpg --armor --export KEY-ID
  4. -----BEGIN PGP PUBLIC KEY BLOCK-----으로 시작하고 -----END PGP PUBLIC KEY BLOCK-----으로 끝나는 PGP 키를 복사합니다.

  5. 웹 커밋 서명을 위해 만든 사용자로 GitHub Enterprise Server에 로그인합니다(예: web-flow).

  6. 사용자 프로필에 공용 PGP 키를 추가합니다. 자세한 내용은 "GitHub 계정에 GPG 키 추가"을 참조하세요.

    참고: GPG 키 목록에서 다른 공개 키를 제거하지 마세요. 공개 키가 삭제되면 해당 프라이빗 키로 서명된 모든 커밋은 더 이상 확인된 것으로 표시되지 않습니다.

    1. GitHub Enterprise Server의 관리 계정에서 페이지의 오른쪽 위 모서리에서 을 클릭합니다.
  7. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다. 1. " 사이트 관리자" 사이드바에서 관리 콘솔를 클릭합니다.

  8. "설정" 사이드바에서 Email 클릭합니다.

  9. "회신 없음 전자 메일 주소"에서 PGP 키를 만들 때 사용한 것과 동일한 전자 메일 주소를 입력합니다.

    참고: GitHub Enterprise Server 인스턴스에 대해 전자 메일을 사용하도록 설정한 경우에만 "회신 없음 전자 메일 주소" 필드가 표시됩니다. 자세한 내용은 "알림에 대한 메일 구성"을 참조하세요.

    1. "설정" 사이드바에서 **설정 저장**을 클릭합니다.

    참고: 관리 콘솔에 설정을 저장하면 시스템 서비스가 다시 시작되어 사용자에게 표시되는 가동 중지 시간이 발생할 수 있습니다.

  10. 구성 실행이 완료될 때까지 기다립니다.

웹 커밋 서명에 사용하는 프라이빗 키 회전

  1. 관리 셸에서 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
  1. -----BEGIN PGP PUBLIC KEY BLOCK-----으로 시작하고 -----END PGP PUBLIC KEY BLOCK-----으로 끝나는 PGP 키를 복사합니다.

  2. 웹 커밋 서명을 위해 만든 사용자로 GitHub Enterprise Server에 로그인합니다(예: web-flow).

  3. 사용자 프로필에 공용 PGP 키를 추가합니다. 자세한 내용은 "GitHub 계정에 GPG 키 추가"을 참조하세요.

    참고: GPG 키 목록에서 다른 공개 키를 제거하지 마세요. 공개 키가 삭제되면 해당 프라이빗 키로 서명된 모든 커밋은 더 이상 확인된 것으로 표시되지 않습니다.

웹 커밋 서명을 사용하지 않도록 설정

GitHub Enterprise Server 인스턴스에 대한 웹 커밋 서명을 사용하지 않도록 설정할 수 있습니다.

  1. 관리 셸에서 다음 명령을 실행합니다.

    Shell
    ghe-config app.github.web-commit-signing-enabled false
  2. 구성을 적용합니다.

    Shell
    ghe-config-apply