Kiedy włączam SSH do OS X, nie mam swojego pęku kluczy. Kiedy używam terminala, robię to

12

Kroki

  1. Otwórz PuTTY na moim pulpicie Windows.
  2. SSH do mojego MacBooka Pro.
  3. cd do klonu github
  4. $ git push

Spodziewany

Everything up-to-date

Rzeczywisty

Enter passphrase for key '/Users/whit537/.ssh/github':

Notatki

  • Klucz github znajduje się na liście Dostęp do pęku kluczy.
  • Mogę wyświetlić hasło w Keychain Access.
  • Mogę z powodzeniem użyć tego hasła po wyświetleniu monitu w PuTTY.
  • Oczekiwany wynik otrzymuję w oknie terminala na MacBooku.
  • uname -a: Darwin chad.whitacre 10.7.0 Darwin Kernel Wersja 10.7.0: Sob 29 stycznia 15:17:16 PST 2011; root: xnu-1504.9.37 ~ 1 / RELEASE_I386 i386

Aktualizacje

2011-04-12: Odkryłem securitynarzędzie za pomocą pytania na Powiązanym pasku bocznym (nie zauważyłem go na liście możliwych odpowiedzi podczas publikowania). Próbowałem biegać, security unlock-keychainale otrzymuję ten sam wynik. Wydaje się, że powinien istnieć jakiś sposób, aby to zrobić. W rzeczywistości chodzi o dwa klucze, a są to długie hasła, a nie krótkie hasła, a ja potrzebuję ich często w ciągu dnia. Mam więc trochę motywacji, aby dojść do sedna tego.

2011-04-13: Brzmi obiecująco . Widzę /tmp/launch-*****/Listenersplik na MacBooku. Następnym razem, gdy będę na komputerze, spróbuję ustawić SSH_AUTH_SOCKsesję PuTTY. Jeśli to zadziała raz, zobaczę .profilehak umożliwiający automatyczne wykrycie bieżącej sesji uruchamiania.

whit537
źródło

Odpowiedzi:

18

Powinieneś mieć możliwość odblokowania pęku kluczy w terminalu w następujący sposób:

security unlock-keychain -p <YourPassword> ~/Library/Keychains/login.keychain

Jeśli nie chcesz otrzymywać monitu o hasło, możesz zapisać hasło w pliku, a następnie wykonać następującą komendę:

security unlock-keychain -p `cat ~/.file_with_your_password` ~/Library/Keychains/login.keychain

Pamiętaj, że przechowywanie hasła pęku kluczy w pliku ma pewne wady związane z bezpieczeństwem, jak możesz sobie wyobrazić, więc musisz sam zdecydować, czy jest to dla Ciebie opcja.

Mam nadzieję, że to pomoże

Besi
źródło
3
„niektóre”, prawda, czy podanie hasła dostępu do pęku kluczy w postaci zwykłego tekstu w pliku nie powoduje, że cała sprawa jest bezcelowa…? Więc równie dobrze możesz mieć rzeczy, które są chronione w pęku kluczy w postaci zwykłego tekstu?
tml
... a następnie postępuj zgodnie z tą odpowiedzią
techraf
3

Twój brelok jest powiązany z graficznym logowaniem OS X. Po zalogowaniu się do komputera lokalnie otwiera on brelok. Terminal, w którym działa bash, wie o twoim pęku kluczy.

Gdy logujesz się zdalnie przez PuTTY, twój pęku kluczy nie otwiera się, a PuTTY i bash nie wiedzą o tym - nawet jeśli jesteś zalogowany również lokalnie. Łącza między nimi po prostu nie ma.

Przykro mi, ale kiedy logujesz się przez PuTTY, utkniesz w potrzebie wprowadzenia hasła.

Jest tak, chyba że ktoś, kto zna wewnętrzne elementy systemu pęku kluczy OS X, może wymyślić jakiś sposób, aby ręcznie umieścić to łącze w sesji połączonej z PuTTY, ale moim zdaniem to chyba więcej pracy niż wpisywanie hasła raz na podczas.

Majenko
źródło
1
Są to długie hasła dla kilku kluczy, których często używam, więc zachęcam do odkrycia mechanizmu łączenia, o którym mówisz.
whit537
2

Jak opisuję w tej odpowiedzi , musisz także uruchomić

eval `ssh-agent -s`

oprócz odblokowania pęku kluczy.

orkoden
źródło