Jak wyłączyć monity o hasło podczas wykonywania git push / pull?


35

Za każdym razem, gdy chcę pushi / lub pullz terminala (w systemie Linux) muszę wprowadzić hasło. Jak usunąć to, aby ciągnęło i / lub wypychało bez hasła?


5
Jakiego protokołu używa Twój adres repo? ssh? https?
VonC

Odpowiedzi:


23

Wygeneruj parę kluczy prywatny / publiczny dla uwierzytelnienia bez hasła.

W systemie Linux klucze są przechowywane ~/.ssh.

Jeśli masz już pliki ~/.ssho nazwie id_rsai id_rsa.pub, to masz już parę kluczy. Dołącz zawartość swojego klucza publicznego (to jest id_rsa.pub) do pliku ~ / .ssh / Author_keys repozytorium Git.

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

Jeśli nie masz pary kluczy, wygeneruj ją za pomocą

$ ssh-keygen -t rsa

Przeczytaj to, aby uzyskać dalsze instrukcje: http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/


@slhck Ah, nie myślałem o tym! Dobrze będzie wiedzieć, że system operacyjny korzysta z wirowania przed opublikowaniem dalszych instrukcji.
Jin

Dzięki za wskaźnik. Odpowiednio zaktualizowałem pytanie!
whirlwin

1
Kiedy uruchamiam pierwsze polecenie, otrzymuję: Wygląda na to, że używasz ssh do sklonowania adresu URL git: //. Upewnij się, że opcja konfiguracji core.gitProxy i zmienna środowiskowa GIT_PROXY_COMMAND NIE są ustawione. utracone połączenie
MultiformeIngegno

26

Biegać

git config credential.helper store

Spowoduje to przechowywanie poświadczeń w folderze w katalogu głównym. Musisz uruchomić git pull / push po tym poleceniu i podać nazwę użytkownika / pwd po raz pierwszy. Opublikuj to, nie będzie monitował o użytkownika / pwd. Szczegóły na https://git-scm.com/docs/git-credential-store


4
należy to wybrać jako prawidłową odpowiedź na to pytanie. IMO, OP chciał zapytać o rozwiązanie pozwalające httpsuniknąć konieczności ciągłego wprowadzania nazwy użytkownika / hasła, bez przełączania się na sshrozwiązanie. 1+ dla tej odpowiedzi.
Giang Nguyen

1
Pamiętaj, że pomocnik przechowywania referencji przechowuje hasło na dysku w postaci niezaszyfrowanej.
0xc0de


1

Utworzyłem nowy oddział, a następnie, gdy ciągnę, musiałem wprowadzić nazwę użytkownika i hasło. Następnie rozwiązuję problem, ponownie klonując gałąź z adresem ssh (który znajduje się na odpowiedniej stronie repozytorium).

Na przykład:

git clone git@github.com:sshare/GLE.git
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.