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.