Come Risolvere i Problemi di Autenticazione di Git Clone con un Token di Accesso Personale (PAT)?
Mentre lavoravo alla clonazione di un repository da un server GitHub Enterprise, ho riscontrato un problema SSL. Quando ho provato a clonare il repository tramite HTTPS, Git mi ha chiesto di inserire le credenziali, ma non stavo utilizzando una combinazione tipica di nome utente e password perché accedo tramite credenziali Microsoft 365. Ecco la spiegazione completa del problema e come l'ho risolto utilizzando un Token di Accesso Personale (PAT).
Il Problema: SSL e Richieste di Autenticazione
Quando ho tentato per la prima volta di clonare il repository tramite HTTPS, ho riscontrato due problemi principali:
- Errore Certificato SSL: Il server GitHub Enterprise utilizzava un certificato SSL autofirmato, che ha causato il fallimento dell'operazione da parte di Git a causa di un errore di verifica del certificato SSL.
- Richiesta di Autenticazione: Anche dopo aver aggirato il problema SSL, Git mi ha richiesto nome utente e password. Poiché utilizzo il Single Sign-On (SSO) con Microsoft 365, non avevo un nome utente e password tradizionali per il repository.
A questo punto, non potevo completare l'operazione di clonazione a causa del certificato SSL autofirmato e dell'assenza di credenziali standard.
Passaggio 1: Aggirare il Problema del Certificato SSL
Per aggirare temporaneamente il problema del certificato SSL, ho eseguito il seguente comando Git, che disabilita la verifica SSL:
git -c http.sslVerify=false clone https://yourcompany.domain/your-team/your-repo.git .
Questo comando dice a Git di ignorare il controllo del certificato SSL e di procedere con l'operazione di clonazione. Tuttavia, non ha risolto il problema di autenticazione, poiché Git continuava a chiedermi nome utente e password.
Passaggio 2: Risolvere il Problema di Autenticazione con un Token di Accesso Personale (PAT)
Poiché accedevo al mio account GitHub Enterprise tramite credenziali Microsoft 365 (tramite SSO), non avevo una combinazione tipica di nome utente/password da fornire quando richiesto. La soluzione è stata utilizzare un Token di Accesso Personale (PAT), che GitHub fornisce per un'autenticazione sicura in tali casi.
Cos'è un Token di Accesso Personale (PAT)?
Un Token di Accesso Personale (PAT) è un modo più sicuro per autenticarsi quando si utilizza Git tramite HTTPS. Funziona come una password, ma è più flessibile e sicuro. Puoi generare un PAT e usarlo al posto di una password quando Git richiede le credenziali. Puoi controllare i suoi permessi (noti come scope), rendendolo un'opzione più sicura.
Come Generare un PAT
- Accedi al tuo account GitHub Enterprise.
- Vai su Impostazioni > Impostazioni sviluppatore > Token di accesso personali.
- Fai clic su Genera nuovo token e seleziona i permessi appropriati (scope). Per l'accesso al repository, avrai tipicamente bisogno dello scope
repo
. - Copia il token generato (PAT) e salvalo in un luogo sicuro (non potrai più visualizzarlo dopo questo punto).
Utilizzare il PAT per Clonare il Repository
Una volta ottenuto il Token di Accesso Personale, sono tornato al mio terminale. Quando Git mi ha chiesto il nome utente, ho inserito il mio indirizzo email (associato all'accesso Office 365). Quando ha richiesto la password, ho incollato il PAT invece della password:
Username for 'https://yourcompany.domain': [email protected]
Password for 'https://[email protected]@yourcompany.domain': <incolla-il-tuo-PAT-qui>
Dopo questo, l'operazione di clonazione ha funzionato perfettamente e ho avuto accesso al repository.