인증 정보
GitHub Copilot CLI는 세 가지 인증 방법을 지원합니다. 사용하는 방법은 대화형으로 작업하는지 또는 자동화된 환경에서 작업하는지에 따라 달라집니다.
-
**OAuth 장치 흐름**: 대화형 사용을 위한 기본이자 권장 방법입니다. Copilot CLI에서 `/login`를 실행하면 CLI가 일회성 코드를 생성하고, 브라우저에서 인증하도록 안내합니다. 인증하는 가장 간단한 방법입니다. -
** 환경 변수**: CI/CD pipelines, 컨테이너 및 비대화형 환경에 권장됩니다. 지원되는 토큰을 환경 변수(`COPILOT_GITHUB_TOKEN``GH_TOKEN`또는`GITHUB_TOKEN`)로 설정하고 CLI는 메시지를 표시하지 않고 자동으로 사용합니다. -
**GitHub CLI 대체 방식**: GitHub CLI(`gh`)가 설치되어 인증되어 있는 경우, Copilot CLI가 해당 토큰을 자동으로 사용할 수 있습니다(참고: `gh` CLI이며 `copilot`가 아닙니다). 이는 가장 낮은 우선 순위 메서드이며 다른 자격 증명을 찾을 수 없는 경우에만 활성화됩니다.
인증되면 Copilot CLI은(는) 로그인을 기억하고 모든 Copilot API 요청에 토큰을 자동으로 사용합니다. 여러 계정으로 로그인할 수 있으며 CLI는 마지막으로 사용한 계정을 기억합니다. 토큰 수명 및 만료는 계정 또는 조직 설정에서 토큰을 만든 방법에 따라 달라집니다.
지원되는 토큰 형식
| 토큰 형식 | 프리픽스 | 지원됨 | 비고 |
|---|---|---|---|
| OAuth 토큰(디바이스 흐름) | gho_ | 네 | 기본 메서드 copilot login을 통한 |
| 세분화된 PAT | github_pat_ | 네 | 필요한 사용 권한 코필로트 요청을 포함해야 합니다. |
| GitHub 앱 사용자-서버 | ghu_ | 네 | 환경 변수를 통해 |
| 클래식 PAT | ghp_ | 아니오 | Copilot CLI에서 지원되지 않음 |
Copilot CLI에서 자격 증명을 저장하는 방법
기본적으로 CLI는 서비스 이름 copilot-cli아래에 운영 체제의 키 집합에 OAuth 토큰을 저장합니다.
| Platform | 키체인 |
|---|---|
| macOS | 키 집합 액세스 |
| 윈도우즈 | 자격 증명 관리자 |
| 리눅스 | 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에서 사용할 환경 변수를 설정하지 않습니다.
OAuth를 사용하여 인증
OAuth 디바이스 흐름은 대화형 사용을 위한 기본 인증 방법입니다. 터미널에서 /login를 실행하거나 Copilot CLI에서 copilot login를 실행하여 인증할 수 있습니다.
`/login` 사용하여 인증
-
Copilot CLI에서
/login을 실행합니다.Bash /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](https://github.com/settings/personal-access-tokens/new)를 방문하세요. - "권한"에서 권한 추가를 클릭하고 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는 토큰을 자동으로 사용합니다. -
CLI에서 인증된 계정을 확인하려면 실행
/user합니다.
계정 간 전환
Copilot CLI 여러 개의 계정을 지원합니다. 사용 가능한 계정을 나열하고 CLI 내에서 전환할 수 있습니다. 사용 가능한 계정을 나열하려면 Copilot CLI 프롬프트에서 /user list을(를) 실행합니다. 다른 계정으로 전환하려면 프롬프트를 입력 /user switch 합니다.
다른 계정을 추가하려면 새 터미널 세션에서 실행 copilot login 하거나 CLI 내에서 로그인 명령을 실행하고 다른 계정으로 권한을 부여합니다.
자격 증명 로그아웃 및 제거
로그아웃하려면 Copilot CLI 프롬프트에서 /logout을 입력하면 됩니다. 이렇게 하면 로컬로 저장된 토큰이 제거되지만 GitHub에서 토큰을 해지하지 않습니다.
GitHub에서 OAuth 앱 권한 부여를 취소하고 다른 곳에서 사용하지 않도록 하려면 다음 단계를 수행합니다.
-
**설정** > **애플리케이션** > **권한 OAuth 앱으로** 이동합니다. - 설정 페이지로 이동합니다.
- GitHub의 페이지 오른쪽 위 모서리에서 프로필 사진을 클릭합니다.
-
**설정**을 클릭합니다.
- 왼쪽 사이드바에서 애플리케이션을 클릭합니다.
- 승인된 OAuth 애플리케이션 아래에서 GitHub CLI 옆에 있는 아이콘을 클릭하여 메뉴를 확장하고, Revoke를 선택합니다.