Wiem, że odpowiedź jest tam, ale jestem dość głupi na Uniksie i prawdopodobnie nie rozpoznałbym rozwiązania, gdyby uderzyło mnie to w twarz.
Jestem na komputerze Mac i łączę się z serwerem SVN przez tunelowanie SSH. Muszę za ssh-add privateKey.txt
każdym razem, gdy chcę połączyć się z serwerem SVN (zarówno Cornerstone, jak i Xcode łączą się z SVN).
Czy istnieje sposób na „zapisanie” klucza gdzieś, abym nie musiał tego robić za każdym razem? Dodać go do mojego pęku kluczy? Jakiś plik konfiguracyjny? Uruchomić skrypt?
ssh-add
nie można się-K
kłócić.Przechowywanie haseł w pęku kluczy
Aby zapisać hasło do domyślnego klucza w pęku kluczy, otwórz Terminal i uruchom:
Aby zapisać hasło dla innego uruchomienia klucza:
Po wyświetleniu monitu o hasło wprowadź je i to wszystko.
Nigdy nie będziesz musiał uruchamiać ssh-add ani ponownie wprowadzać hasła.
Odpowiedź pobrana z tej strony: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
źródło
Myślę, że po wielu poszukiwaniach znalazłem pełną odpowiedź na ten problem. Najpierw upewnij się, że tak
ssh-add -K ~/.ssh/your_key_here
. Spowoduje to dodanie klucza do pęku kluczy. W niektórych miejscach czytałem, że to wystarczy, ale nie byłem pewien. Jest to również specyficzne dla komputerów Mac, więc jeśli musisz to zrobić na innym smaku uniksowym, niekoniecznie będziesz mieć tę opcję.Na
~/.ssh/config
wszelki wypadek wyedytowałem plik (być może trzeba będzie go utworzyć), aby wskazywał na wszystkie posiadane przeze mnie klucze. Mój ma następujące elementy:Zgodnie ze stroną podręcznika man dla ssh_config, spróbuje je po kolei. Nie jestem pewien, czy pierwsze trzy domyślne, które wymieniłem, muszą tam być, ale i tak je uwzględniłem.
źródło
-K
flagi na Mac OS X dlassh-add
-K
flaga na OS Xssh-add
. Dodatkowo powinna to być wybrana odpowiedź./usr/bin/ssh-add
dostarczonego homebrew,/usr/local/bin/ssh-add
który nie zawiera opcji -K.~/.ssh/config
jest, nie ma potrzeby uruchamianiassh-add
polecenia za każdym razem po ponownym uruchomieniu komputera.Od macOS 10.12.2 możesz użyć
UseKeychain
opcji. Przeczytaj więcej tutaj lub zajrzyj doman ssh_config
.Więc wykonaj następujące czynności:
echo "UseKeychain yes" >> ~/.ssh/config
źródło
Nie mam dużego doświadczenia z komputerami Mac, więc nie jestem pewien, czy ta wersja jest odpowiednia dla Ciebie, ale spójrz na http://www.phil.uu.nl/~xges/ssh/
Jeśli ta konkretna aplikacja nie działa, to i tak tego szukasz -
ssh agent
. Na komputerach typu unix chciałbyś uruchomić przez to całego menedżera okien, aby uzyskać efekt globalny, ale może nie być to możliwe w osx.Więcej informacji: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
źródło
sshkeychain jest jedną z możliwości. instaluje się dobrze z macportami przy użyciu:
używa pęku kluczy do przechowywania haseł i możesz go po prostu uruchomić podczas uruchamiania sesji logowania (używając przy pierwszym uruchomieniu zwykłego kliknięcia prawym przyciskiem myszy na ikonę stacji dokującej + „uruchom przy starcie”)
Zwróć uwagę, że svn firmy Apple używa pęku kluczy do przechowywania haseł, ale niekoniecznie pliku binarnego svn, który utworzyłbyś za pomocą macports.
źródło
Dodaj swój klucz do pęku kluczy, uruchamiając:
i edytuj swój
~/.ssh/config
plik config ( ) ssh , aby automatycznie ładować klucze z łańcucha kluczy do ssh-agent (AddKeysToAgent yes
opcja) i przechowywać hasła w pęku kluczy (UseKeychain yes
opcja):źródło