2016-08-16 47 views
9

This page i wiele podobnych instrukcji zawiera instrukcje dotyczące konfigurowania pomocnika poświadczeń osxkeychain za pomocą git. Postępowałem zgodnie z tymi instrukcjami; wszystko wydawało się działać dobrze. Widzę, że moja nazwa użytkownika i hasło w aplikacji Keychain Access są poprawne, a git-credential-osxkeychain ma dostęp do rekordu github.com. Po wpisaniu git config -l widzę wpis credential.helper=osxkeychain, a także poprawne wpisy user.name i user.email. Po uruchomieniu git credential-osxkeychain widzę komunikat o użytkowaniu, do którego podobno mam się podobać. W żadnym momencie nie pojawia się komunikat o błędzie. Wszystko wydaje się być poprawnie skonfigurowane.git: pomocnik poświadczeń osxkeychain po cichu nie zapamięta nazwy użytkownika/hasła

Jednak niezależnie od tego, ile razy git push danego repozytorium, zawsze prosi o moją nazwę użytkownika i hasło. Wprowadzanie nazwy użytkownika i hasła znajdujących się w moim wpisie do książki Dostęp do pęku kluczy; więc nie wydaje się być problemem z logowaniem. Dodatkowo, kiedy wpisuję git credential-osxkeychain erase (lub git-credential-osxkeychain erase), polecenie wisi w milczeniu i, o ile mogę to powiedzieć, w nieskończoność.

Mam, jak dotąd, nie udało się znaleźć niczego dokumentującego ten problem. This question podnosi podobny problem, ale moja wersja git to 2.6.4, więc rozwiązanie nie jest pomocne. Dlaczego to robi i jak mogę dostać git, aby zapamiętać moją nazwę użytkownika i hasło za pomocą oscylatora poświadczeń osxkeychain?

Używam Mac OS X 10.11.4 i git w wersji 2.6.4.

+1

Mam dokładnie ten sam problem. Mac OS X 10.12.2, git 2.11.0. –

+0

Czy to jest to? http://superuser.com/questions/1127067/macos-keeps-asking-my-ssh-passphrase-since-i-updated-to-sierra –

Odpowiedz

8

Edytuj ~/.ssh/config i dodaj UseKeychain yes do każdego hosta, dla którego klucz pamięci ma zapamiętać hasło.

Na przykład, jeśli staramy się robić to na GitHub:

Host github.com 
    IdentityFile ~/.ssh/your_github_cert_rsa 
    UseKeychain yes 

Jeśli chcesz włączyć je do każdego hosta, wystarczy dodać:

Host * 
    UseKeychain yes 

Jest to nowy wymóg, dodane przez Apple na macOS Sierra 10.12.2, możesz dowiedzieć się więcej na ten temat, uruchamiając man ssh_config w 10.12.2:

UseKeychain 

      On macOS, specifies whether the system should search for 
      passphrases in the user's keychain when attempting to use a par- 
      ticular key. When the passphrase is provided by the user, this 
      option also specifies whether the passphrase should be stored 
      into the keychain once it has been verified to be correct. The 
      argument must be ``yes'' or ``no''. The default is ``no''.