Come disabilitare le richieste di password quando si esegue git push / pull?


35

Ogni volta che voglio pushe / o pulldal terminale (in Linux) devo inserire una password. Come lo rimuovo in modo che tira e / o spinga senza la password?


5
Qual è il protocollo utilizzato dal tuo indirizzo repository? SSH? https?
VonC,

Risposte:


23

Generare una coppia di chiavi privata / pubblica per l'autenticazione senza password.

Per Linux, le tue chiavi sono archiviate in ~/.ssh.

Se hai già dei file con ~/.sshil nome id_rsae id_rsa.pub, allora hai già una coppia di chiavi. Aggiungi il contenuto della tua chiave pubblica (ovvero id_rsa.pub) al file ~ / .ssh / authorized_keys del repository Git.

$ scp ~/.ssh/id_rsa.pub user@git.repo:id_rsa.tmp
$ ssh user@git.repo
$ cat id_rsa.tmp >> .ssh/authorized_keys

Se non si dispone della coppia di chiavi, generarne una con

$ ssh-keygen -t rsa

Leggi questo per ulteriori istruzioni: http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/


@slhck Ah, non ci ho pensato! Sarà bene sapere che il sistema operativo Whirlwin sta usando prima di pubblicare ulteriori istruzioni, però.
Jin,

Grazie per il puntatore. Ho aggiornato la domanda di conseguenza!
Whirlwin,

1
Quando eseguo il primo comando ottengo un: Sembra che tu stia usando ssh per clonare un git: // URL. Assicurati che l'opzione di configurazione core.gitProxy e la variabile di ambiente GIT_PROXY_COMMAND NON siano impostate. connessione persa
MultiformeIngegno il

26

Correre

git config credential.helper store

Questo memorizzerà le tue credenziali in una cartella all'interno di root. Devi eseguire git pull / push dopo questo comando e dare il nome utente / pwd per la prima volta. Pubblica questo non richiederà user / pwd. Dettagli su https://git-scm.com/docs/git-credential-store


4
questo dovrebbe essere selezionato come la risposta corretta per questa domanda. IMO, l'OP voleva chiedere una soluzione per httpsevitare di dover inserire nome utente / password ancora e ancora, senza passare alla sshsoluzione. 1+ per questa risposta.
Giang Nguyen,

1
Si noti che l'helper delle credenziali di archiviazione memorizza la password sul disco non crittografato.
0xc0de,


1

Avevo creato una nuova succursale e successivamente, quando tiravo, dovevo inserire il nome utente e la password. Quindi risolvo il problema ri-clonando il ramo con l'indirizzo ssh (che si trova sul sito del repository pertinente).

Per esempio:

git clone git@github.com:sshare/GLE.git
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.