Skip to main content

Autenticación de la CLI de GitHub Copilot

Autentíquese CLI de Copilot para que pueda usar Copilot directamente desde la línea de comandos.

¿Quién puede utilizar esta característica?

CLI de GitHub Copilot está disponible con todos los Copilot planes. Si una organización le envía Copilot, la política CLI de Copilot debe estar habilitada en la configuración de la organización.

Acerca de la autenticación

Si usa sus propias claves de API del proveedor LLM (BYOK), GitHub no es necesaria la autenticación.

La autenticación es necesaria para cualquier otro CLI de GitHub Copilot uso.

Cuando se requiere autenticación, CLI de Copilot admite tres métodos. El método que usa depende de si está trabajando de forma interactiva o en un entorno automatizado.

  •         **Flujo de dispositivo OAuth**: método predeterminado y recomendado para uso interactivo. Cuando se ejecuta `/login` en CLI de Copilot, la CLI genera un código único y le dirige a autenticarse en el explorador. Esta es la manera más sencilla de autenticarse.
    
  •         **Variables de entorno**: recomendadas para pipelines de CI/CD, contenedores y entornos no interactivos. Se establece un token admitido como una variable de entorno (`COPILOT_GITHUB_TOKEN`, `GH_TOKEN`o `GITHUB_TOKEN`) y la CLI la usa automáticamente sin preguntar.
    
  •           **              GitHub CLI Solución alternativa**: si está instalado y autenticado GitHub CLI (`gh`) (recuerde: la CLI de `gh`, no `copilot`), CLI de Copilot podrá usar su token automáticamente. Este es el método de prioridad más bajo y solo se activa cuando no se encuentran otras credenciales.
    

Una vez autenticado, CLI de Copilot recuerda el inicio de sesión y usa automáticamente el token para todas las Copilot solicitudes de API. Puede iniciar sesión con varias cuentas y la CLI recordará la última cuenta usada. La vigencia y expiración del token dependen de cómo se creó el token en la configuración de la cuenta o de la organización.

Uso no autenticado

Si configura CLI de Copilot para usar sus propias claves de API del proveedor LLM (BYOK), GitHubno es necesaria la autenticación. CLI de Copilot puede conectarse directamente al proveedor configurado sin una cuenta o token de GitHub.

Sin embargo, sin GitHub autenticación, las siguientes características no están disponibles:

  •         `/delegate`: requiere , que se ejecuta en los servidores de GitHub.
    
  •         GitHub Servidor MCP: requiere autenticación para acceder GitHub a las API
    
  •         GitHub Búsqueda de código: requiere autenticación para consultar GitHubel índice de búsqueda.
    

Puede combinar el modelo BYOK, de gestión de claves de cifrado propias, con la autenticación de GitHub para aprovechar al máximo los dos modos: su modelo preferido para las respuestas de IA, además del acceso a funciones alojadas en GitHub, como /delegate y la búsqueda de código.

Modo sin conexión

Si establece la variable de entorno COPILOT_OFFLINE en true, CLI de Copilot se ejecuta sin ponerse en contacto con los servidores de GitHub. En modo sin conexión:

  • No se intenta realizar ninguna GitHub autenticación.
  • La CLI solo realiza solicitudes de red al proveedor BYOK configurado.
  • La telemetría está totalmente deshabilitada.

El modo sin conexión solo está completamente aislado si el proveedor del modelo BYOK es local o está dentro del mismo entorno aislado (por ejemplo, un modelo que se ejecuta de forma local y sin acceso a redes externas). Si COPILOT_PROVIDER_BASE_URL apunta a un punto de conexión remoto o accesible a Internet, se seguirán enviando mensajes y contexto de código a través de la red a ese proveedor. Sin el modo sin conexión, incluso cuando se usa BYOK sin GitHub autenticación, la telemetría todavía se envía normalmente.

Tipos de token admitidos

Tipo de tokenPrefijoSoportadoNotas
Token de OAuth (flujo de dispositivo)gho_Método predeterminado a través de copilot login
PAT de alta especificidadgithub_pat_Debe incluir los permisos necesarios Copilot Requests
Aplicación GitHub de usuario a servidorghu_A través de la variable de entorno
PAT clásicoghp_NoNo es compatible con CLI de Copilot

Cómo Copilot CLI almacena las credenciales

De forma predeterminada, la CLI almacena el token de OAuth en la cadena de claves del sistema operativo bajo el nombre copilot-clidel servicio :

PlataformaCadena de claves
macOSAcceso a cadena de claves
WindowsAdministrador de credenciales
Linuxlibsecret (GNOME Keyring, KWallet)

Si la cadena de claves del sistema no está disponible (por ejemplo, en un servidor Linux sin interfaz gráfica sin libsecret instalado), la CLI solicita que almacene el token en un archivo de configuración en texto plano en ~/.copilot/config.json.

Al ejecutar un comando, CLI de Copilot comprueba si hay credenciales en el orden siguiente:

  1. La variable de entorno COPILOT_GITHUB_TOKEN
  2. La variable de entorno GH_TOKEN
  3. La variable de entorno GITHUB_TOKEN
  4. Token de OAuth desde la cadena de claves del sistema
  5. alternativa de la CLI de GitHub (gh auth token)

Nota:

  • Una variable de entorno invalida silenciosamente un token de OAuth almacenado. Si establece GH_TOKEN para otra herramienta, la CLI usa ese token en lugar del token de OAuth de copilot login. Para evitar un comportamiento inesperado, desconjunte las variables de entorno que no pretende usar la CLI.
  • Al configurar variables de entorno del proveedor BYOK (por ejemplo, COPILOT_PROVIDER_BASE_URL, COPILOT_PROVIDER_API_KEY), CLI de Copilot las usa para las solicitudes del modelo de IA independientemente del estado de GitHub autenticación. GitHub Los tokens solo son necesarios para las GitHub características hospedadas.

Autenticación con OAuth

El flujo de dispositivos OAuth es el método de autenticación predeterminado para uso interactivo. Puede autenticarse mediante la ejecución /login desde CLI de Copilot o copilot login desde el terminal.

Autenticación con /login

  1. En CLI de Copilot, ejecute /login.

    Bash
    /login
    
  2. Seleccione la cuenta con la que desea autenticarse. Para GitHub Enterprise Cloud con residencia de datos, escriba el nombre del host de la instancia.

    What account do you want to log into?
     1. GitHub.com
     2. GitHub Enterprise Cloud with data residency (*.ghe.com)
    
  3. La CLI muestra un código de usuario único y lo copia automáticamente en el Portapapeles y abre el explorador.

    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...
    
  4. Vaya a la dirección URL de verificación en https://github.com/login/device si el explorador no se ha abierto automáticamente.

  5. Pegue el código de un solo uso en el campo de la página.

  6. Si su organización utiliza SAML para el inicio de sesión único, haga clic en Authorize junto a cada organización a la que quiera conceder acceso.

  7. Revise los permisos solicitados y haga clic en Authorize GitHub Copilot CLI.

  8. Vuelva al terminal. La CLI muestra un mensaje de operación correcta cuando se completa la autenticación.

    Signed in successfully as Octocat. You can now use Copilot.
    

Autenticación con copilot login

  1. Desde el terminal, ejecute copilot login. Si va a usar GitHub Enterprise Cloud con residencia de datos, pase el nombre de host de la instancia.

    Bash
    copilot login
    

    Para GitHub Enterprise Cloud:

    Bash
    copilot login --host HOSTNAME
    

    La CLI muestra un código de usuario único y lo copia automáticamente en el Portapapeles y abre el explorador.

    To authenticate, visit https://github.com/login/device and enter code 1234-5678.
    
  2. Vaya a la dirección URL de verificación en https://github.com/login/device si el explorador no se ha abierto automáticamente.

  3. Pegue el código de un solo uso en el campo de la página.

  4. Si su organización utiliza SAML para el inicio de sesión único, haga clic en Authorize junto a cada organización a la que quiera conceder acceso.

  5. Revise los permisos solicitados y haga clic en Authorize GitHub Copilot CLI.

  6. Vuelva al terminal. La CLI muestra un mensaje de operación correcta cuando se completa la autenticación.

    Signed in successfully as Octocat.
    

Autenticación con variables de entorno

Para entornos no interactivos, puede autenticarse estableciendo una variable de entorno con un token admitido. Esto es ideal para pipelines de CI/CD, contenedores o servidores sin interfaz gráfica.

  1. Visite Fine-grained personal access tokens.
  2. En "Permisos", haga clic en Agregar permisos y seleccione Copilot Solicitudes.
  3. Haga clic en Generar token.
  4. Exporte el token en la configuración del terminal o del entorno. Use la COPILOT_GITHUB_TOKENvariable de entorno , GH_TOKENo GITHUB_TOKEN (en orden de prioridad).

Autenticación con GitHub CLI

Si usted tiene GitHub CLI instalado y autenticado, CLI de Copilot puede usar su token como alternativa. Este método tiene la prioridad más baja y solo se activa cuando no se establecen variables de entorno y no se encuentra ningún token almacenado.

  1. Compruebe que GitHub CLI está autenticado.

    Bash
    gh auth status
    

    Si utiliza GitHub Enterprise Cloud con residencia de datos, verifique que el nombre de host correcto está autenticado.

    Bash
    gh auth status --hostname HOSTNAME
    
  2. Ejecute copilot. La CLI de Copilot usa automáticamente el token de GitHub CLI.

  3. Ejecute /user para comprobar la cuenta autenticada en la CLI.

Cambio entre cuentas

          CLI de Copilot admite varias cuentas. Puede enumerar las cuentas disponibles y cambiar entre ellas desde la CLI. Para ver las cuentas disponibles, ejecute `/user list` en la instrucción de CLI de Copilot. Para cambiar a otra cuenta, escriba `/user switch` en la solicitud.

Para agregar otra cuenta, ejecute copilot login desde una nueva sesión de terminal o ejecute el comando de inicio de sesión desde la CLI y autorice con la otra cuenta.

Cierre de sesión y eliminación de credenciales

Para cerrar la sesión, escriba /logout en la instrucción de CLI de Copilot. Esto quita el token almacenado localmente, pero no lo revoca en GitHub.

Para revocar la autorización de la aplicación OAuth en GitHub y evitar que se use en otro lugar, siga estos pasos.

  1. Vaya a Configuración > Aplicaciones > de OAuth autorizadas.
  2. Vaya a la página de configuración:
    1. En la esquina superior derecha de cualquier página de GitHub, haga clic en la imagen de perfil.
    2. Haga clic en Configuración.
  3. En la barra lateral izquierda, haga clic en Aplicaciones.
  4. En Aplicaciones de OAuth autenticadas, haga clic en junto a GitHub CLI para expandir el menú y seleccione Revoke.