Niedawno skonfigurowałem, openssh
aby móc go używać git
.
Podczas konfigurowania (zgodnie z tym artykułem ) uruchomiłem polecenia:
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/<name of key>
Jakiś czas później, po wylogowaniu i ponownym zalogowaniu, próbowałem użyć git push
, dostałem błąd. Rozwiązaniem tego błędu było ponowne uruchomienie tych samych poleceń.
Powiedz mi, jak mogę
- Nie przestawaj
ssh-agent
działać, więc nie muszę zaczynać nowego - Zapamiętaj klucze, które dodałem, więc nie muszę ich dodawać za każdym razem
Aby to wyjaśnić, używam zsh, więc niektóre funkcje bash nie będą działać w moim .zshrc.
ssh-agent
i jak to działa, zanim spróbujesz dopasować to do twisted przypadku użycia.Odpowiedzi:
Do czego służy
ssh-agent
i jak działa?ssh-agent
Przechowuje odszyfrowane klucze bezpiecznie w pamięci i na sesji. Nie ma rozsądnego i bezpiecznego sposobu na zachowanie odszyfrowanych kluczy podczas ponownego uruchamiania / ponownego logowania.OK, jak mogę to zautomatyzować?
Zautomatyzuj
ssh-agent
uruchamianieDodaj
do twojego
~/.bashrc
lub innego skryptu uruchamiania (~/.zshrc
).Zautomatyzuj dodawanie kluczy
Klucze można dodawać automatycznie przy pierwszym użyciu, gdy dodajesz
do twojego
~/.ssh/config
.Więcej informacji na temat
~/.ssh/config
patrzman ssh_config
.źródło
eval "$(ssh-agent -s)"
doda mój klucz?ssh
obsługuje tę opcję, to tak.ssh-agent
wtedy?[ -z "$SSH_AUTH_SOCK" ] && eval $(ssh-agent)
Dodaj to do
~/.bashrc
Oznacza to, że ssh-agent zostanie uruchomiony automatycznie po otwarciu kolejnej sesji bez terminala
jeśli potrzebujesz klucza do dodania do agenta, dodaj go
źródło