인증 정보
BYOK(사용자 고유의 LLM 공급자 API 키) GitHub 를 사용하는 경우 인증이 필요하지 않습니다.
다른 GitHub Copilot CLI 사용법은 인증이 필요합니다.
인증이 필요한 Copilot CLI 경우 세 가지 방법을 지원합니다. 사용하는 방법은 대화형으로 작업하는지 또는 자동화된 환경에서 작업하는지에 따라 달라집니다.
-
**OAuth 장치 흐름**: 대화형 사용을 위한 기본이자 권장 방법입니다. 실행 `/login`Copilot CLI하면 CLI가 일회성 코드를 생성하고 브라우저에서 인증하도록 지시합니다. 인증하는 가장 간단한 방법입니다. -
** 환경 변수**: CI/CD pipelines, 컨테이너 및 비대화형 환경에 권장됩니다. 지원되는 토큰을 환경 변수(`COPILOT_GITHUB_TOKEN``GH_TOKEN`또는`GITHUB_TOKEN`)로 설정하고 CLI는 메시지를 표시하지 않고 자동으로 사용합니다. -
** GitHub CLI 페일백**: GitHub CLI(`gh`) (참고: `gh` CLI, `copilot`가 아님)이 설치되고 인증된 경우, Copilot CLI는 해당 토큰을 자동으로 사용할 수 있습니다. 이는 가장 낮은 우선 순위 메서드이며 다른 자격 증명을 찾을 수 없는 경우에만 활성화됩니다.
인증 Copilot CLI 되면 로그인을 기억하고 모든 Copilot API 요청에 토큰을 자동으로 사용합니다. 여러 계정으로 로그인할 수 있으며 CLI는 마지막으로 사용한 계정을 기억합니다. 토큰 수명 및 만료는 계정 또는 조직 설정에서 토큰을 만든 방법에 따라 달라집니다.
인증되지 않은 사용
BYOK(사용자 고유의 LLM 공급자 API 키) Copilot CLI 를 사용하도록 구성하는 GitHub 경우 인증이 필요하지 않습니다. Copilot CLI은 계정이나 토큰 없이 GitHub 구성된 공급자에 직접 연결할 수 있습니다.
그러나 인증이 없으면 GitHub 다음 기능을 사용할 수 없습니다.
-
`/delegate`: Copilot 클라우드 에이전트의 서버에서 GitHub이(가) 실행되어야 합니다. -
GitHub MCP 서버: API에 액세스 GitHub 하려면 인증 필요 -
GitHub 코드 검색: GitHub의 검색 인덱스를 쿼리하려면 인증이 필요합니다.
BYOK를 GitHub 인증과 결합하면 AI 응답을 위한 선호 모델 사용은 물론, /delegate 및 코드 검색과 같은 GitHub 호스팅 기능을 모두 활용할 수 있는 장점이 있습니다.,
오프라인 모드
환경 변수 COPILOT_OFFLINE을 true로 설정하면 Copilot CLI가 GitHub의 서버에 연결하지 않고 실행됩니다. 오프라인 모드:
- 인증을 시도하지 않습니다 GitHub .
- CLI는 구성된 BYOK 공급자에 대해서만 네트워크 요청을 합니다.
- 원격 분석은 완전히 사용하지 않도록 설정되어 있습니다.
오프라인 모드는 BYOK 공급업체가 로컬에 있거나 동일한 격리된 환경(예: 외부 네트워크 액세스가 없는 온프레미스에서 실행되는 모델) 내에 있는 경우에만**완전한 에어갭 ** 상태가 됩니다. 원격 또는 인터넷에 액세스할 수 있는 엔드포인트를 가리키는 경우 COPILOT_PROVIDER_BASE_URL 프롬프트 및 코드 컨텍스트는 네트워크를 통해 해당 공급자에게 계속 전송됩니다. 오프라인 모드가 없으면, GitHub 인증 없이 BYOK를 사용할 때에도 원격 분석이 정상적으로 전송됩니다.
지원되는 토큰 형식
| 토큰 형식 | 프리픽스 | 지원됨 | 비고 |
|---|---|---|---|
| OAuth 토큰(디바이스 흐름) | gho_ | 네 | 기본 메서드 copilot login을 통한 |
| 세분화된 PAT | github_pat_ | 네 | 필수 권한 Copilot 요청을 포함해야 합니다. |
| GitHub 앱 사용자-서버 연결 | ghu_ | 네 | 환경 변수를 통해 |
| 클래식 PAT | ghp_ | 아니오 | 지원되지 않음 Copilot CLI |
Copilot CLI에서 자격 증명을 저장하는 방법
기본적으로 CLI는 서비스 이름 copilot-cli아래에 운영 체제의 키 집합에 OAuth 토큰을 저장합니다.
| Platform | 키체인 |
|---|---|
| macOS | 키 집합 액세스 |
| Windows | 자격 증명 관리자 |
| 리눅스 | libsecret(GNOME Keyring, KWallet) |
시스템 키 집합을 사용할 수 없는 경우(예: 헤드리스 Linux 서버에서 설치되지 않은 libsecret 경우) CLI는 토큰을 일반 텍스트 구성 파일에 ~/.copilot/config.json저장하라는 메시지를 표시합니다.
명령을 Copilot CLI 실행할 때 다음 순서대로 자격 증명을 확인합니다.
-
`COPILOT_GITHUB_TOKEN`환경 변수 -
`GH_TOKEN`환경 변수 -
`GITHUB_TOKEN`환경 변수 - 시스템 키 집합의 OAuth 토큰
- GitHub CLI(
gh auth token) 대안
참고
- 환경 변수는 저장된 OAuth 토큰을 자동으로 재정의합니다. 다른 도구로
GH_TOKEN을(를) 설정한 경우, CLI는copilot login의 OAuth 토큰 대신 해당 토큰을 사용합니다. 예기치 않은 동작을 방지하기 위해 CLI에서 사용할 환경 변수를 설정하지 않습니다. - BYOK 공급자의 환경 변수(예:
COPILOT_PROVIDER_BASE_URL,COPILOT_PROVIDER_API_KEY)를 구성하면, Copilot CLI의 인증 상태와 상관없이 GitHub에서 AI 모델 요청에 이를 사용합니다. GitHub 토큰은 GitHub-호스팅된 기능에만 필요합니다.
OAuth를 사용하여 인증
OAuth 디바이스 흐름은 대화형 사용을 위한 기본 인증 방법입니다.
/login에서 Copilot CLI를 실행하거나 터미널에서 copilot login를 실행하여 인증할 수 있습니다.
`/login` 사용하여 인증
1.
Copilot CLI에서 /login을(를) 실행하십시오.
/login
/login
-
인증할 계정을 선택합니다. 데이터 보존의 경우 GitHub Enterprise Cloud 인스턴스의 호스트 이름을 입력합니다.
What account do you want to log into? 1. GitHub.com 2. GitHub Enterprise Cloud with data residency (*.ghe.com) -
CLI는 일회성 사용자 코드를 표시하고 자동으로 클립보드에 복사하고 브라우저를 엽니다.
Waiting for authorization... Enter one-time code: 1234-5678 at https://github.com/login/device Press any key to copy to clipboard and open browser... -
브라우저가 자동으로 열리지 않으면
https://github.com/login/device확인 URL로 이동합니다. -
페이지의 필드에 일회성 코드를 붙여넣습니다.
-
조직에서 SAML SSO를 사용하는 경우 access 부여하려는 각 조직 옆에 있는 Authorize를 클릭합니다.
-
요청된 권한을 검토하고 GitHub Copilot CLI 인증 클릭합니다.
-
터미널로 돌아갑니다. 인증이 완료되면 CLI에 성공 메시지가 표시됩니다.
Signed in successfully as Octocat. You can now use Copilot.
`copilot login` 사용하여 인증
-
터미널에서 실행
copilot login합니다. 데이터 상주와 함께 사용하는 GitHub Enterprise Cloud 경우 인스턴스의 호스트 이름을 전달합니다.Bash copilot login
copilot loginGitHub Enterprise Cloud의 경우:Bash copilot login --host HOSTNAME
copilot login --host HOSTNAMECLI는 일회성 사용자 코드를 표시하고 자동으로 클립보드에 복사하고 브라우저를 엽니다.
To authenticate, visit https://github.com/login/device and enter code 1234-5678. -
브라우저가 자동으로 열리지 않으면
https://github.com/login/device확인 URL로 이동합니다. -
페이지의 필드에 일회성 코드를 붙여넣습니다.
-
조직에서 SAML SSO를 사용하는 경우 access 부여하려는 각 조직 옆에 있는 Authorize를 클릭합니다.
-
요청된 권한을 검토하고 GitHub Copilot CLI 인증 클릭합니다.
-
터미널로 돌아갑니다. 인증이 완료되면 CLI에 성공 메시지가 표시됩니다.
Signed in successfully as Octocat.
환경 변수를 사용하여 인증
비대화형 환경의 경우 지원되는 토큰으로 환경 변수를 설정하여 인증할 수 있습니다. 이는 CI/CD 파이프라인, 컨테이너 또는 헤드리스 서버에 이상적입니다.
- 방문하세요 Fine-grained personal access tokens.
- "사용 권한"에서 권한 추가를 클릭하고 요청을 선택합니다Copilot.
-
**토큰 생성**을 클릭합니다. - 터미널 또는 환경 구성에서 토큰을 내보냅니다. 우선 순위에 따라
COPILOT_GITHUB_TOKEN,GH_TOKEN또는GITHUB_TOKEN환경 변수를 사용합니다.
GitHub CLI로 인증 중
설치하고 인증한 GitHub CLI 경우 Copilot CLI 해당 토큰을 대체로 사용할 수 있습니다. 이 메서드는 우선 순위가 가장 낮으며 환경 변수가 설정되지 않고 저장된 토큰을 찾을 수 없는 경우에만 활성화됩니다.
-
인증되었는지 GitHub CLI 확인합니다.
Bash gh auth status
gh auth status데이터 상주와 함께 사용하는 GitHub Enterprise Cloud 경우 올바른 호스트 이름이 인증되었는지 확인합니다.
Bash gh auth status --hostname HOSTNAME
gh auth status --hostname HOSTNAME -
`copilot`를 실행합니다. Copilot CLI는 GitHub CLI 토큰을 자동으로 사용합니다. -
CLI에서 인증된 계정을 확인하려면 실행
/user합니다.
계정 간 전환
Copilot CLI 는 여러 계정을 지원합니다. 사용 가능한 계정을 나열하고 CLI 내에서 전환할 수 있습니다. 사용 가능한 계정을 나열하려면 `/user list` 프롬프트에서 Copilot CLI을(를) 실행하십시오. 다른 계정으로 전환하려면 프롬프트를 입력 `/user switch` 합니다.
다른 계정을 추가하려면 새 터미널 세션에서 실행 copilot login 하거나 CLI 내에서 로그인 명령을 실행하고 다른 계정으로 권한을 부여합니다.
자격 증명 로그아웃 및 제거
로그아웃하려면 /logout 프롬프트에서 Copilot CLI를 입력하십시오. 이렇게 하면 로컬로 저장된 토큰이 제거되지만 해당 토큰은 GitHub취소되지 않습니다.
OAuth 앱 권한 부여 GitHub 를 취소하고 다른 곳에서 사용하지 않도록 하려면 다음 단계를 수행합니다.
-
**설정** > **애플리케이션** > **권한 OAuth 앱으로** 이동합니다. - 설정 페이지로 이동합니다.
- 페이지의 오른쪽 위 모서리의 GitHub 프로필 사진을 클릭합니다.
-
**설정**을 클릭합니다.
- 왼쪽 사이드바에서 애플리케이션을 클릭합니다.
-
**인증된 OAuth 앱**에서 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="The horizontal kebab icon" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg> 옆의 **** 을 클릭하여 메뉴를 확장하고 **Revoke**를 선택합니다.