openssh: Niech ssh doda klucze do agenta w razie potrzeby

25

Kiedy ssh na serwerze i mój klucz nie jest załadowany do agenta, muszę przerwać, a następnie uruchomić ssh-add, aby dostać mój klucz do agenta. Chciałbym jednak, aby polecenie ssh automatycznie dodawało klucz, jeśli go nie ma. czy to możliwe?

enigmatyczny fizyk
źródło
Czy masz jeden klucz dla wszystkich docelowych hostów, czy masz różne klucze z różnymi hasłami? Czy używasz szpachli z systemu Windows, czy używasz systemu okienkowego opartego na X w systemie Linux, czy jesteś na komputerze Mac?
Otheus
Używam tylko jednego klucza i openssh. ssh już szuka właściwego klucza i prosi mnie o hasło, ale po jego wprowadzeniu klucz nie zostanie zapisany w agencie. To zachowanie jest takie samo we wszystkich systemach POSIX i cygwin.
enigmatyczny
Czy to wygląda podobnie? stackoverflow.com/questions/3466626/…
techraf
Nie, to jest inne. Chcę wprowadzić hasło klucza przy każdym zatrzymaniu agenta. Chciałbym tylko, aby ssh dodał klucz do agenta bezpośrednio w razie potrzeby, zamiast najpierw używać ssh-add.
enigmatyczny

Odpowiedzi:

35

Ta AddKeysToAgentopcja robi to, co chcę. Mogę podać -o AddKeysToAgent=yesw wierszu poleceń lub AddKeysToAgent yessamodzielnie dodać wiersz w moim .ssh/config. Albo działa.

Wygląda na to, że jest to najnowszy dodatek do openssh, pojawiający się w wersji 7.2 z dnia 28.02.2016!

http://www.openssh.com/txt/release-7.2

Dzięki, OpenBSD! Będę dużo tego używać .

enigmatyczny fizyk
źródło
.ssh / config: linia 3: Zła opcja konfiguracji: AddKeysToAgent. jakieś pomysły? Serwer Unix
trainoasis
Sprawdź swoją wersję openssh. $ ssh -V. Musi być nowszy lub równy 7,2.
enigmatyczny
Rzeczywiście tak było, dzięki. Mimo to nadal pyta o hasło po ponownym zalogowaniu. Jak zautomatyzować git pull za pomocą skryptu, na przykład, jeśli zawsze trzeba wprowadzić hasło? I chyba hasło bez id_rsa nie jest dobrym pomysłem ...
trainoasis
Czy masz na myśli między logowaniami ssh lub między logowaniami lokalnymi? Hasło powinno zostać usunięte między lokalnymi loginami.
enigmatyczny
Ilekroć uruchamiam skrypt lokalnie, powinien tam ssh i uruchomić git pull itp., Ale oczywiście nie może, ponieważ potrzebuje hasła do poleceń GIT (ssh działa bez, ponieważ pass jest w pęku kluczy, ale polecenia tam oczywiście proszą o podanie)
trainoasis