# GitHub Copilot CLI 설정 및 사용

GitHub Enterprise Server 인스턴스에 대한 모델 공급자를 구성한 다음, Copilot CLI 클라이언트를 해당 인스턴스에 연결합니다.

> \[!NOTE]
> 이 기능은 기술 미리 보기에서 사용 중이며 변경될 수 있습니다.

Copilot CLI를 GitHub Enterprise Server와 함께, GitHub Cloud에 연결되지 않는 분리되었거나 에어갭된 환경에서 작동하도록 구성할 수 있습니다. 관리자는 인스턴스용 모델 공급자를 구성하고, 사용자는 Copilot CLI 자격 증명을 사용해 GitHub Enterprise Server에 연결합니다.

이 기능을 설정하려면 다음 두 가지 역할이 포함됩니다.

* **관리자**: .를 사용하여 `ghe-config`인스턴스에서 모델 공급자를 GitHub Enterprise Server 구성합니다. 관리 SSH 액세스가 필요한 일회성 설정입니다.
* **최종 사용자**: 인스턴스에 연결할 Copilot CLI 로컬 컴퓨터의 환경 변수를 설정합니다.

## Prerequisites

* 인스턴스에 대한 관리 SSH 액세스 권한이 있습니다 GitHub Enterprise Server .
* 지원되는 LLM 공급자의 API 키가 있습니다.
* Copilot CLI 는 클라이언트 컴퓨터에 설치됩니다.
  [GitHub Copilot CLI 설치](/ko/enterprise-cloud@latest/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli)을(를) 참조하세요.
* GitHub CLI (`gh`)는 클라이언트 컴퓨터에 설치됩니다. 설명서의 GitHub CLI[설명서를 참조GitHub CLI](https://cli.github.com/manual/)하세요.

지원되는 공급자 및 모델 요구 사항에 대한 자세한 내용은 [GitHub Copilot CLI에서 사용자 고유의 LLM 모델 사용](/ko/enterprise-cloud@latest/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models)을 참조하세요.

## 사용자의 GitHub Enterprise Server 인스턴스 구성

이 단계는 인스턴스의 운영자 또는 관리자를 위한 것입니다 GitHub Enterprise Server .

인스턴스에 대한 GitHub Enterprise Server 관리 SSH 액세스를 사용하여 다음 `ghe-config` 값을 사용하여 모델 공급자를 구성합니다. 구성한 후 실행 `ghe-config-apply` 하여 변경 내용을 적용합니다.

| 변수 이름                                     | 필수                                                                                             | Options | Description                                                        |
| ----------------------------------------- | ---------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------ |
| `app.copilot-proxy.enabled`               | Yes                                                                                            |         |                                                                    |
| `true`, `false`                           | 기능을 사용하거나 사용하지 않도록 설정합니다.                                                                      |         |                                                                    |
| `app.copilot-proxy.endpoint-url`          | Yes                                                                                            | URI     | 모든 버전 접두사를 포함하는 전체 업스트림 기본 URL(예: `https://api.openai.com/v1`)입니다. |
| `secrets.copilot-proxy.endpoint-key`      | Yes                                                                                            | 스트링     | 업스트림 공급자에 대한 API 키입니다.                                             |
| `app.copilot-proxy.provider-model-id`     | Yes                                                                                            | 스트링     | 내부적으로 모델을 조회하는 데 사용하는 공급자 모델 ID Copilot CLI 입니다.                   |
| `app.copilot-proxy.provider-type`         | Yes                                                                                            |         |                                                                    |
| `openai`, `azure`, `anthropic`            | 공급자 유형입니다. OpenAI에는 OpenAI, Ollama, vLLM, Foundry Local 및 기타 OpenAI 채팅 완료 API 호환 엔드포인트가 포함됩니다. |         |                                                                    |
| `app.copilot-proxy.upstream-timeout`      | No                                                                                             | 정수(초)   | 업스트림 요청에 대한 읽기/보내기 시간 제한(초)입니다. 설정하지 않으면 기본 시간 제한으로 돌아갑니다.         |
| `app.copilot-proxy.provider-wire-api`     | No                                                                                             |         |                                                                    |
| `completions`, `responses`                | 공급자에 대한 유선 API 형식입니다.                                                                          |         |                                                                    |
| `app.copilot-proxy.provider-wire-model`   | No                                                                                             | 스트링     | 내부 모델 ID와 다른 경우 업스트림 공급자에 전송되는 모델 식별자를 재정의합니다.                     |
| `app.copilot-proxy.enable-upstream-probe` | No                                                                                             |         |                                                                    |
| `true`, `false`                           | 시작 업스트림 프로브를 사용하거나 사용하지 않도록 설정합니다. 기본값은 enabled입니다. 사용하지 않도록 설정하면 시작 프로브를 건너뜁습니다.              |         |                                                                    |

예를 들어 다음 명령은 OpenAI 공급자를 구성합니다.

```shell
ghe-config app.copilot-proxy.enabled true
ghe-config app.copilot-proxy.endpoint-url 'https://api.openai.com/v1'
ghe-config secrets.copilot-proxy.endpoint-key 'YOUR-API-KEY'
ghe-config app.copilot-proxy.provider-model-id 'gpt-5.5'
ghe-config app.copilot-proxy.provider-wire-model 'gpt-5.5'
ghe-config app.copilot-proxy.provider-type openai
ghe-config app.copilot-proxy.upstream-timeout 300
ghe-config app.copilot-proxy.enable-upstream-probe false
ghe-config-apply
```

구성을 적용하기 전에 `YOUR-API-KEY`를 실제 API 키로 바꾸세요.

## 사용자의 Copilot CLI 클라이언트 구성(최종 사용자)

Copilot CLI를 시작하기 전에 다음 환경 변수를 설정하여 GitHub Enterprise Server가 Copilot CLI 인스턴스에 연결되도록 구성합니다.

| 환경 변수                         | 필수  | Description                                                                               |
| ----------------------------- | --- | ----------------------------------------------------------------------------------------- |
| `COPILOT_PROVIDER_GHES_HOST`  | Yes | 인스턴스의 GitHub Enterprise Server 호스트 이름입니다.                                                 |
| `COPILOT_PROVIDER_GHES_TOKEN` | Yes | 인스턴스에 대한 A personal access token 입니다 GitHub Enterprise Server . 이 토큰은 인스턴스에 대한 요청을 인증합니다. |
| `COPILOT_OFFLINE`             | Yes | 오프라인 모드를 사용하도록 설정합니다. 공급자는 GitHub Enterprise Server 오프라인 모드를 사용하는 경우에만 활성화됩니다.            |

## 클라이언트(최종 사용자) 토큰 이해

Copilot CLI 는 LLM 유추에 대한 액세스 권한이 필요하므로 `COPILOT_PROVIDER_GHES_TOKEN` 항상 필요합니다. 또한 이슈 생성, 풀 리퀘스트, 리포지토리 검색과 같은 Copilot CLI작업을 수행하려면 GitHub가 매우 필요할 것입니다. 이러한 작업은 .를 통해 GitHub CLI수행할 수 있습니다.

`gh auth login --hostname YOUR-GHES-HOSTNAME`를 실행하는 것이 권장되며 바람직합니다. 성공한 후 다음 단계는 `gh auth login --hostname YOUR-GHES-HOSTNAME`를 `COPILOT_PROVIDER_GHES_TOKEN`에서 생성된 토큰으로 설정하는 것입니다.
`~/.config/gh/hosts.yml`에서 복사하는 것보다 토큰을 동적으로 가져오는 것이 더 안전합니다.
`COPILOT_PROVIDER_GHES_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)"`를 사용하여 그렇게 할 수 있습니다.

또는 `COPILOT_PROVIDER_GHES_TOKEN` 인스턴스에서 personal access token를 생성하고, 해당 토큰을 `gh auth login --hostname YOUR-GHES-HOSTNAME`(으)로 설정한 다음 GitHub Enterprise Server를 실행할 때 동일한 토큰을 사용할 수 있습니다.

위의 방법은 대화형으로 사용할 Copilot CLI 때 작동합니다. 자동화의 경우 다음과 같이 몇 가지 작업을 다르게 수행해야 합니다.

* `GH_ENTERPRISE_TOKEN`(또는 `GITHUB_ENTERPRISE_TOKEN`)을 personal access token로 설정합니다.
* 서버의 호스트 이름으로 설정합니다 `GH_HOST` .
* 동일한 호스트에 대해 `gh auth login` 자격 증명과 `GH_ENTERPRISE_TOKEN` 자격 증명이 모두 있으면 환경 변수가 우선 적용됩니다.

## 권장 최종 사용자 설정

1. 인증합니다 GitHub CLI.

   ```shell
   gh auth login --hostname YOUR-GHES-HOSTNAME
   ```

2. 에 필요한 Copilot CLI환경 변수를 설정합니다.

   ```shell
   export COPILOT_PROVIDER_GHES_HOST=YOUR-GHES-HOSTNAME
   export COPILOT_PROVIDER_GHES_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)"
   export COPILOT_OFFLINE=true
   ```

`gh auth login`로 여러 계정에 인증된 경우, `GH_HOST`을 서버의 호스트 이름으로 설정하고 `GITHUB_ENTERPRISE_TOKEN`(또는 `"$(gh auth token --hostname YOUR-GHES-HOSTNAME)"`)를 `GH_ENTERPRISE_TOKEN`로 설정할 수 있습니다. 이렇게 하면 GitHub CLI이(가) 사용자의 GitHub Enterprise Server 인스턴스를 대상으로 하도록 보장합니다.

```shell
export GH_HOST=YOUR-GHES-HOSTNAME
export GH_ENTERPRISE_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)"
```

1. Copilot CLI를 시작합니다.

```bash
copilot
```

이 전체 설정을 스크립트로 실행할 수 있습니다.

## 예제

GitHub Enterprise Server 구성과 사용자의 Copilot CLI 구성이 모두 올바르다면, Copilot CLI 세션에서 다음과 같은 응답이 표시될 것입니다.

```shell
     • fabric-core-mcp — disabled
     • powerbi-mcp — disabled
     • slack — connected

 ● Current model: gpt-5.5

 ❯ Hello                                                                   13:31

 ● Hello!

 ❯ what is going on in github/codeql-action repo?                          13:33

 ● I’ll check recent repository activity on the GHES host: repo metadata, open 
   PRs/issues, and latest commits.

 $ Shell Fetch repo metadata 2 lines…                                         5s
   gh api --hostname "$GH_HOST" repos/github/codeql-action --jq '{name_with_own…
```

## GitHub Enterprise Server에서 지원되는 기능

Copilot CLI 기능에 대한 최신 정보는 [GitHub Copilot CLI](/ko/enterprise-cloud@latest/copilot/how-tos/copilot-cli)을 가장 신뢰할 수 있는 기준 정보로 참조하세요. 일반적으로 GitHub 클라우드 서비스에 대한 연결에 의존하는 모든 기능은 GitHub Enterprise Server 오프라인 구성에서는 사용할 수 없습니다.

다음 표는 GitHub Enterprise Server 제품에서 제공되는 항목에 대한 개괄적인 방향성을 보여줍니다.

| Capability                                                                                                                                                                                                                                                                                                                                       |                                                                                                                                             GitHub / GitHub Enterprise Cloud                                                                                                                                             |                                                                                                                                                                                                       GitHub Enterprise Server                                                                                                                                                                                                      |
| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| AI 지원 코딩(프롬프트, 코드 생성, 디버깅)                                                                                                                                                                                                                                                                                                                       | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> |                                                       <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                      |
| 셸 명령 및 파일 작업                                                                                                                                                                                                                                                                                                                                     | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> |                                                       <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                      |
| GitHub 작업(이슈, PR, 리포지토리) - `gh` CLI를 통해                                                                                                                                                                                                                                                                                                          | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> |                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> (필요 `gh` 인스턴스에 인증된 CLI) |                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| GitHub MCP 서버 도구                                                                                                                                                                                                                                                                                                                                 | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="Not available" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |
| 웹 검색 및 웹 페치                                                                                                                                                                                                                                                                                                                                      | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="Not available" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |
| Copilot 모델 선택(GitHub호스트된 모델)                                                                                                                                                                                                                                                                                                                     | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="Not available" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |
| 원격 분석 및 사용 현황 보고                                                                                                                                                                                                                                                                                                                                 | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="Not available" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |
| 자동 업데이트                                                                                                                                                                                                                                                                                                                                          | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Available" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="Not available" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |