Skip to content

Autenticar GitHub dentro del agente

Empezá desde el host, en la carpeta lab. Vamos a abrir una shell en /workspace dentro del lab-agent existente, sin cambiar de branch. Antes de continuar necesitás conservar su perfil, tener proyecto y perfil escribibles y usar tu repo privado propio. No hagas este login en Codespaces ni en el runner.

Primero fijate qué sesión reconoce el agente. Esta sesión es independiente de la del host:

docker exec -it lab-agent bash
cd /workspace
gh auth status

Creá otro PAT fino con vencimiento corto, por ejemplo 7 días, para tu cuenta personal y Only select repositories, sólo tu repo. No reutilices el PAT de escritura de Git del host.

Permiso del PAT del agenteUso
Contents: ReadLeer código y diff
Pull requests: Read and writeConsultar y comentar el PR; administrar etiquetas del recorrido
Metadata: Read-onlyIncluido automáticamente
Webhooks: Read and writeSólo si delegás crear o desactivar hooks

No necesita Actions, Workflows, Administration, permisos de organización ni Issues para estas tareas. El token tampoco concede derechos que tu cuenta no tenga.

Con el PAT preparado, seguí dentro de lab-agent para iniciar sesión y consultar su estado:

gh auth login
gh auth status

Elegí GitHub.com → Paste an authentication token → HTTPS → Yes para autenticar Git y pegá el PAT sólo en la entrada oculta. No uses OAuth del navegador para sustituir este token limitado. El orden corresponde a GitHub CLI 2.103.3; los textos pueden variar. No agregues scopes de tokens clásicos sugeridos por la ayuda.

Comprobá cuenta, origen de credencial y protocolo sin usar opciones que muestren el token. Si GH_TOKEN o GITHUB_TOKEN prevalecen sobre la sesión, resolvé ese contexto con el instructor sin imprimir ni borrar variables a ciegas.

El container puede guardar la credencial de gh en texto plano. No prometemos un almacén cifrado y no uses --insecure-storage. Esa configuración queda fuera de hermes-home, en el filesystem del container. Conservála sólo mientras haga falta y revocá el PAT al terminar. No copies el perfil del host, no montes su home y no compartas esta sesión con el runner.

Al terminar, gh auth status debe identificar la cuenta prevista. Comprobá también que el PAT esté limitado al repo y a los permisos indicados. No sigas si aparece otra cuenta, el token proviene de un entorno inesperado o falta acceso al repo. Nunca pegues tokens en Hermes, Telegram, código, argumentos, capturas ni chats.

Referencia: login nativo de GitHub CLI.