Skip to main content

Autenticación de la CLI de GitHub Copilot

Autentique CLI de Copilot para poder 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 planes Copilot. Si recibes Copilot de una organización, la directiva de CLI de Copilot debe estar habilitada en la configuración de la organización.

Acerca de la autenticación

CLI de GitHub Copilot admite tres métodos de autenticación. 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 redirige a autenticarse en el navegador. Esta es la manera más sencilla de autenticarse.
    
  •         **Variables de entorno**: se recomienda para canalizaciones 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 alternativa**: si tiene GitHub CLI (`gh` nota: la `gh` CLI, no `copilot`) instalada y autenticada, CLI de Copilot puede 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 tu inicio de sesión y utiliza automáticamente el token para todas las solicitudes de API de Copilot. 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.

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 requeridos Copilot Requests
Aplicación de GitHub usuario a servidorghu_A través de la variable de entorno
PAT clásicoghp_NoNo compatible con CLI de Copilot

Cómo almacena la CLI de Copilot 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 llaves
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 GitHub CLI (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.

Autenticación con OAuth

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

Autenticación con /login

  1. Desde CLI de Copilot, ejecute /login.

    Bash
    /login
    
  2. Seleccione la cuenta con la que desea autenticarse. En GitHub Enterprise Cloud con residencia de datos, escriba el nombre del host de tu 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 usa el inicio de sesión único de SAML, haga clic en Autorizar junto a cada organización a la que desea conceder acceso.

  7. Revise los permisos solicitados y haga clic en Autorizar 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 está usando GitHub Enterprise Cloud con residencia de datos, pase el nombre del anfitrión de su 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 proporcionado en la página.

  4. Si su organización usa el inicio de sesión único de SAML, haga clic en Autorizar junto a cada organización a la que desea conceder acceso.

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

  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 canalizaciones 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 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 ha sido autenticado.

    Bash
    gh auth status
    

    Si usa GitHub Enterprise Cloud con almacenamiento de datos en una ubicación específica, 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 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 enumerar las cuentas disponibles, ejecute /user list desde el indicador de comando CLI de Copilot. Para cambiar a otra cuenta, escriba /user switch en la terminal.

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 el indicador del sistema 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 e impedir 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, en GitHub, haz clic en la fotografía del perfil.
    2. Haga clic en Configuración.
  3. En la barra lateral izquierda, haga clic en Aplicaciones.
  4. En Aplicaciones de OAuth autorizadas, haga clic en junto a la CLI de GitHub para expandir el menú y seleccionar Revocar.