Po utworzeniu kluczy z nazwą id_rsa
w domyślnej lokalizacji. Dodaję tożsamość do agenta SSH za pomocą polecenia ssh-add ~/.ssh/id_rsa
, dodaje się pomyślnie.
Mogę SSH bez wprowadzania hasła kluczowego, ponieważ jest już w SSH Agent.
Ale kiedy ponownie uruchamiam komputer lub serwer, a następnie sprawdzam tożsamość za pomocą polecenia ssh-add -L
, otrzymuję komunikat podobny do tego The agent has no identities
.
Czy to oznacza, że po ponownym uruchomieniu komputera Agent utracił tożsamość? Czy to normalne zachowanie, czy coś, za czym tęsknię?
Proszę, poprowadź mnie, nie znam się na SSH.
Odpowiedzi:
To normalne. Celem agenta kluczy jest po prostu przechowywanie odszyfrowanych kluczy w pamięci , ale nigdy nie zapisuje ich na dysku. (To by zniweczyło cel - dlaczego zamiast tego po prostu nie chronić głównego klucza?)
Dlatego klucze muszą być odblokowane przy każdym logowaniu i musisz to zautomatyzować - w systemie Linux używanie
pam_ssh
jest jedną z opcji; automatycznie używa hasła do systemu operacyjnego, aby odblokować agenta. Kolejny podobny moduł topam_envoy
, który jest nieco bardziej niezawodny afaik (ale wymaga systemd).Oba moduły same uruchomią agenta i automatycznie załadują klucze.
źródło
$SSH_AUTH_SOCK
, otrzymuję wynik::-bash: /tmp/ssh-gT43vE99vk/agent.511
Odmowa zezwolenia Jestem tutaj zdezorientowany .. czy mój agent przekierowuje, czy działa .. czy możesz prosić o wskazówki?echo $SSH_AUTH_SOCK
aby wydrukować jego wartość.Spróbuj tego do ~ / .bashrc :
Powinno to monitować o podanie hasła dopiero po zalogowaniu.
źródło
W OS X ssh-add ma specjalną flagę do połączenia z pękiem kluczy, jeśli zdecydujesz się tam przechowywać swój klucz prywatny.
Po prostu biegnij
ssh-add -K ~/.ssh/id_rsa
.Wierzę, że to bardziej odpowiada na twoje pytanie. Ta flaga specyficzna dla OS X jest trudna do znalezienia dla dokumentacji, ale działa od co najmniej OS X Leopard.
źródło
ssh-add -A
której następuje dodanie wszystkich kluczy w pęku kluczy. Ponadto utwórz~/.ssh/config
i dodaj,UseKeychain yes
aby system macOS zawsze zachowywał Twój klucz, jak opisano tutaj: unix.stackexchange.com/questions/140075/…To rozwiązanie jest przydatne, jeśli klucze SSH są chronione hasłem.
Problem z wszystkich powyższych odpowiedzi jest, że jeśli klucz prywatny jest zabezpieczony hasłami, za każdym razem uruchomić nowy terminal i spróbować użyć klucza prywatnego, należy wpisać w haśle i skończy się uruchamianie wielu kopii
ssh-agent
IN pamięć. Rozwiązaniem jest dodanie następujących w twojej~/.bashrc
lub~/.zshrc
:Spowoduje to prośbę o podanie hasła prywatnego klucza (kluczy) ssh tylko raz po uruchomieniu terminalu. Późniejsze otwarcie nowych sesji terminali (lub seansów tmux) spowoduje ponowne użycie agenta ssh utworzonego przez powyższy fragment kodu.
Odniesienie
źródło