Controlla remoto e protocollo
Esegui il comando dentro il repository. Un remoto HTTPS usa credenziali HTTPS: correggere una chiave SSH non cambia quella connessione. Un URL SSH GitHub inizia normalmente con git@github.com:.
git remote -vSu github.com l’utente SSH è git, non il nome del tuo account. Verifica proprietario e nome del repository prima di modificare il remoto. Cambiare protocollo può nascondere la causa dell’errore.
Controlla le chiavi disponibili nell’agent
Elenca le identità disponibili nell’agent SSH della sessione. Un messaggio di assenza di identità è diverso da un agent non raggiungibile. La configurazione dell’agent dipende da sistema operativo e terminale.
ssh-add -lSe la chiave esistente non è caricata, aggiungi il suo percorso effettivo, per esempio ssh-add ~/.ssh/id_ed25519. Registra la corrispondente chiave pubblica .pub nell’account GitHub corretto. Conserva la chiave privata sul dispositivo, senza incollarla in un sito.
Prova l’autenticazione con GitHub
Prima di accettare una nuova chiave del server, confrontane l’impronta con quelle SSH pubblicate da GitHub, raggiungibili dalla guida ufficiale qui sotto. Poi esegui il test.
ssh -T git@github.comIl messaggio di successo GitHub indica il tuo account e precisa che non offre accesso shell. Un test riuscito termina normalmente con codice 1. Se l’autenticazione fallisce ancora, ssh -vT git@github.com mostra le identità proposte. Usare Git tramite sudo può selezionare le chiavi di un altro utente.
Distingui autenticazione e accesso al repository
Dopo un test SSH riuscito, verifica la lettura del repository. Questo comando elenca i riferimenti remoti senza modificare i branch locali.
git ls-remote originL’account autenticato deve avere anche accesso al repository. Controlla l’URL, l’appartenenza all’organizzazione e l’eventuale autorizzazione SSO. Una deploy key può essere limitata a un repository. Se non esiste una chiave, segui la configurazione del provider senza sovrascriverne una esistente.