Skip to main content

GitHub 인증 정보

GitHub에 인증하면 인증 위치에 따라 다른 자격 증명을 사용하여 계정 리소스에 안전하게 액세스할 수 있습니다.

GitHub에 대한 인증 정보

계정을 안전하게 유지하려면 GitHub의 특정 리소스에 액세스하기 전에 반드시 인증해야 합니다. GitHub에 인증할 때는 자신이 사용자와 정확히 동일한 사람임을 증명하기 위해, 본인에게만 고유한 자격 증명을 제공하거나 확인합니다.

GitHub의 리소스에는 브라우저, GitHub Desktop 또는 다른 데스크톱 애플리케이션, API, 명령줄 등 다양한 방법으로 액세스할 수 있습니다. GitHub에 액세스하는 각 방법은 서로 다른 인증 방식을 지원합니다.

  • 2단계 인증을 사용하는 사용자 이름과 암호(또는 소셜 로그인) 또는 패스키를 사용합니다(GitHub Free 및 GitHub Enterprise Cloud에만 해당).
  • Personal access token
  • SSH 키

브라우저에서 인증

관리형 사용자가 있는 엔터프라이즈의 구성원인 경우 브라우저에서 IdP를 사용해 GitHub에 인증하게 됩니다. 자세한 내용은 Enterprise Managed Users 정보(GitHub Enterprise Cloud 문서 참조)

관리형 사용자가 있는 엔터프라이즈의 구성원이 아닌 경우 GitHub 사용자 이름과 암호 또는 패스키를 사용해 인증합니다. 조직 및 엔터프라이즈 소유자가 요구할 수 있는 2단계 인증 및 SAML Single Sign-On을 사용할 수도 있습니다.

참고

2023년 3월부터 GitHub은 GitHub.com에 코드를 기여하는 모든 사용자에게 2단계 인증(2FA) 방식을 하나 이상 사용하도록 요구하고 있습니다. 자격이 있는 그룹에 속했다면 해당 그룹이 등록 대상으로 선택되었을 때 45일 간의 2FA 등록 기간이 시작되었음을 알리는 알림 이메일을 받았을 것이며, GitHub.com에 2FA 등록을 요청하는 배너가 표시되었을 것입니다. 알림을 받지 못했다면 2FA를 사용해야 하는 그룹은 아니지만, 사용하는 것을 적극 권장합니다.

2FA 등록 출시에 대한 자세한 내용은 블로그 게시물을 참조하세요.

GitHub.com에서 개인 계정과 서비스 계정처럼 여러 계정을 사용해야 하는 경우, 매번 다시 인증할 필요 없이 계정 간에 빠르게 전환할 수 있습니다. 자세한 내용은 계정 간 전환을(를) 참조하세요.

  •         **사용자 이름 및 암호만 사용**
    
    • GitHub에서 계정을 만들 때 암호를 생성하게 됩니다. 암호 관리자를 사용하여 고유한 임의 암호를 생성하는 것이 좋습니다. 자세한 내용은 강력한 암호 만들기을(를) 참조하세요.
    • 2단계 인증(2FA)을 사용 설정하지 않은 경우 새 브라우저 프로필, 쿠키가 삭제된 브라우저, 새 컴퓨터와 같은 새 디바이스나 인식되지 않는 디바이스에서 처음 로그인할 때 GitHub에서 추가 확인을 요청할 수 있습니다. 자세한 내용은 로그인할 때 새 디바이스 확인을(를) 참조하세요.
  •         **소셜 로그인**
    
    • GitHub에서 계정을 만들 때 지원되는 소셜 로그인 공급자인 Google 또는 Apple에서 인증합니다. 2FA를 구성하고 계정 복구 수단으로 패스키나 암호를 추가로 설정할 것을 권장합니다.
    • 이미 암호로 만든 기존 계정이 있는 경우, 소셜 로그인 이메일을 해당 계정에 추가할 수 있습니다. 이렇게 하면 GitHub에 로그인할 때 소셜 로그인 ID를 첫 번째 요소(암호) 대신 사용할 수 있습니다.
    • GitHub 이메일 설정 페이지에서 소셜 로그인 ID 연결을 해제할 수 있습니다. 자세한 내용은 잠긴 계정에서 이메일 주소 연결 해제을(를) 참조하세요
  •         **2단계 인증(2FA)**(권장)
    
    • 2단계 인증(2FA)을 사용 설정하면 소셜 로그인 또는 사용자 이름과 암호로 로그인한 후, 모바일 디바이스의 시간 기반 일회용 암호(TOTP) 애플리케이션에서 생성된 코드를 입력하라는 메시지가 표시됩니다 또는 문자 메시지(SMS)로 코드를 받을 수 있습니다.

    • 2FA를 구성한 후 계정은 28일 동안 점검 기간에 들어갑니다. 이 28일 안에 2FA를 성공적으로 완료하면 점검 기간이 종료됩니다. 그 기간 동안 2FA를 수행하지 않으면 기존 GitHub 세션 중 하나 내에서 2FA를 수행하라는 요청을 받게 됩니다.

    • 28일째 점검에서 2FA를 수행할 수 없는 경우 2FA 설정을 다시 구성할 수 있는 바로 가기가 제공됩니다. GitHub의 나머지 기능에 액세스하려면 먼저 설정을 다시 구성해야 합니다. 자세한 내용은 2단계 인증을 사용하여 GitHub 액세스2단계 인증 구성을(를) 참조하세요.

    • TOTP 애플리케이션 또는 문자 메시지를 사용한 인증 외에도 GitHub Mobile 또는 WebAuthn을 사용하는 보안 키를 사용하는 다른 인증 방법을 추가할 수 있습니다(선택 사항). 자세한 내용은 GitHub Mobile를 사용한 2단계 인증 구성 또는 보안 키를 사용한 2단계 인증 구성을 참조하세요.

      참고

      어떤 복구 방법도 사용할 수 없다면 계정 액세스 권한을 영구적으로 잃었을 수도 있습니다. 그러나 잠긴 계정에 연결된 이메일 주소의 연결은 해제할 수 있습니다. 그러면 연결되지 않은 이메일 주소를 새 계정 또는 기존 계정에 연결할 수 있습니다. 자세한 내용은 잠긴 계정에서 이메일 주소 연결 해제을(를) 참조하세요.

  •         **패스키**
    
    • 계정에 패스키를 추가하여 안전한 암호 없는 로그인을 사용할 수 있습니다. 패스키는 암호와 2FA 요구 사항을 모두 충족하므로 한 단계로 로그인을 완료할 수 있습니다. 패스키 정보을(를) 참조하세요.
  •         **SAML Single Sign-On**
    
    • SAML Single Sign-On을 사용하는 조직 또는 엔터프라이즈 계정이 소유한 리소스에 액세스하려면 IdP를 통해 인증해야 할 수도 있습니다. 자세한 내용은 Single Sign-On을 사용한 인증에 대하여(GitHub Enterprise Cloud 문서)에서 확인하세요.

세션 쿠키

GitHub은(는) 서비스를 제공하고 보안을 강화하기 위해 쿠키를 사용합니다. GitHub의 쿠키에 대한 자세한 내용은 GitHub 쿠키에서 확인할 수 있습니다.

  • gist.github.com과 github.com 도메인은 각각 별도의 쿠키를 사용합니다.
  • GitHub는 일반적으로 2주 동안 활동이 없으면 사용자 세션을 삭제 대상으로 표시합니다.
  • GitHub는 로그아웃하더라도 세션을 즉시 삭제하지 않습니다. 일정 주기마다 만료된 세션을 자동으로 삭제합니다.

GitHub Desktop에서 인증

브라우저를 사용하여 GitHub Desktop에서 인증할 수 있습니다. 자세한 내용은 GitHub Desktop에서 GitHub에 인증하기을(를) 참조하세요.

API에서 인증

API에서 다양한 방법으로 인증할 수 있습니다. 자세한 내용은 REST API에 인증을(를) 참조하세요.

personal access token를 사용한 API 인증

GitHub REST API를 개인 용도로 사용하려는 경우 personal access token을(를) 만들 수 있습니다. 가능하다면 GitHub에서는 personal access token (classic) 대신 fine-grained personal access token을(를) 사용할 것을 권장합니다. personal access token을 만드는 방법에 대한 자세한 내용은 개인용 액세스 토큰 관리을(를) 참조하세요.

앱을 사용한 API 인증

조직 또는 다른 사용자를 대신하여 API를 사용하려는 경우 GitHub에서 GitHub App을(를) 사용하는 것이 좋습니다. 자세한 내용은 GitHub 앱을 사용한 인증 정보을(를) 참조하세요.

OAuth app(으)로 OAuth 토큰을 만들어 REST API에 액세스할 수도 있습니다. 그러나 GitHub에서는 대신 GitHub App을(를) 사용할 것을 권장합니다. GitHub Apps을(를) 사용하면 앱이 갖는 액세스 및 권한을 보다 세밀하게 제어할 수 있습니다.

GitHub Actions 워크플로에서 API 인증

GitHub Actions 워크플로에서 API를 사용하려면 GitHub에서 토큰을 만드는 대신 기본 제공 GITHUB_TOKEN으로 인증하는 것이 좋습니다. GITHUB_TOKEN 키를 사용하여 permissions에 대한 사용 권한을 부여할 수 있습니다.

          `GITHUB_TOKEN`은(는) 워크플로가 포함된 리포지토리 내의 리소스에만 액세스할 수 있다는 점에 유의하세요. 워크플로 리포지토리 외부의 리소스를 변경해야 하는 경우 personal access token 또는 GitHub App을(를) 사용해야 합니다.

자세한 내용은 워크플로에서 인증에 GITHUB_TOKEN 사용을(를) 참조하세요.

명령줄에서 인증

명령줄에서 GitHub의 리포지토리에 액세스하는 방법은 HTTPS와 SSH 두 가지이며, 각각 인증 방식이 다릅니다. 인증 방법은 리포지토리를 복제할 때 HTTPS 또는 SSH 원격 URL을 선택하는지에 따라 결정됩니다. 어떤 방식을 사용할지에 대한 자세한 내용은 원격 리포지토리 정보을(를) 참조하세요.

HTTPS

방화벽이나 프록시 뒤에 있는 경우에도 GitHub의 모든 리포지토리와 HTTPS를 통해 작업할 수 있습니다.

GitHub CLI(으)로 인증하는 경우 personal access token 또는 웹 브라우저를 통해 인증할 수 있습니다. GitHub CLI(으)로 인증하는 방법에 대한 자세한 내용은 gh auth login를 참조하세요.

GitHub CLI 없이 인증하는 경우personal access token(으)로 인증해야 합니다. Git에서 암호를 입력하라는 메시지가 표시되면 personal access token을(를) 입력합니다. 또는 Git 자격 증명 관리자와 같은 자격 증명 도우미를 사용할 수 있습니다. 보다 안전한 인증 방법을 지원하기 위해 Git에서 암호 기반 인증이 제거되었습니다. 자세한 내용은 개인용 액세스 토큰 관리을(를) 참조하세요. GitHub에 Git으로 인증할 때마다 자격 증명 도우미에 자격 증명을 캐시하지 않는 한 자격 증명을 입력하라는 메시지가 표시됩니다.

SSH

방화벽이나 프록시가 SSH 연결을 허용하지 않을 수 있지만, SSH를 통해 GitHub의 모든 리포지토리와 작업할 수 있습니다.

GitHub CLI에서 인증하는 경우 CLI는 머신에서 SSH 퍼블릭 키를 찾고 업로드할 키를 선택하라는 메시지를 표시합니다. GitHub CLI에서 업로드할 SSH 공개 키를 찾지 못하면 새 SSH 공개/개인 키 쌍을 생성하고 공개 키를 GitHub.com의 계정에 업로드할 수 있습니다. 그런 다음 personal access token 또는 웹 브라우저를 통해 인증할 수 있습니다. GitHub CLI(으)로 인증하는 방법에 대한 자세한 내용은 gh auth login를 참조하세요.

GitHub CLI 없이 인증하는 경우 로컬 머신에서 SSH 공개/개인 키 쌍을 생성하고 공개 키를 GitHub.com의 계정에 추가해야 합니다. 자세한 내용은 새 SSH 키 생성 및 ssh-agent에 추가을(를) 참조하세요. GitHub에 Git으로 인증할 때마다 SSH 키 암호를 입력하라는 메시지가 표시됩니다. 단, 키를 저장한 경우는 제외됩니다.

SAML Single Sign-On에 대한 권한 부여

SAML Single Sign-On을 사용하는 조직이 소유한 리소스에 personal access token 또는 SSH 키로 액세스하려면 개인 토큰이나 SSH 키도 승인해야 합니다. 자세한 내용은 Single Sign-On에 사용할 개인용 액세스 토큰 권한 부여 또는 Single Sign-On에 사용할 SSH 키 권한 부여(GitHub Enterprise Cloud 문서)를 참조하세요.

GitHub의 토큰 형식

GitHub는 토큰 형식을 나타내는 접두사로 시작하는 토큰을 발급합니다.

토큰 형식접두사자세한 정보
ghp_
          [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-personal-access-token-classic)  |

| Fine-grained personal access token | github_pat_ | 개인용 액세스 토큰 관리 | | OAuth 액세스 토큰 | gho_ | OAuth 앱 권한 부여 | | GitHub App용 사용자 액세스 토큰 | ghu_ | 사용자를 대신하여 GitHub 앱으로 인증 | | GitHub App용 설치 액세스 토큰 | ghs_ | GitHub 앱 설치로 인증 | | GitHub App의 새로 고침 토큰 | ghr_ | 사용자 액세스 토큰 새로 고침 |