Czy wypróbowałeś najlepszy hit Google dla któregokolwiek z tych warunków?
Daniel Beck
Tak. Nie dostałem żadnych przydatnych informacji. Mój zły
maneeshshetty
Odpowiedzi:
44
Agent to program, który trzyma klucze w pamięci tak, że trzeba tylko odblokować je raz , zamiast za każdym razem. ssh-agent robi to dla kluczy SSH.
Typowe metody uruchamiania ssh-agent to:
eval `ssh-agent`- uruchamia to agenta w tle i ustawia odpowiednie zmienne środowiskowe dla bieżącej instancji powłoki.
( ssh-agent , po uruchomieniu bez argumentów, wyświetla polecenia do interpretacji przez powłokę).
exec ssh-agent bash- uruchamia nową instancję bashpowłoki, zastępując obecną.
(Przy jednym lub większej liczbie argumentów ssh-agent nie wypisuje niczego, ale uruchamia określone polecenie: w tym przypadku bashpowłokę, ale technicznie może to być cokolwiek.)
Druga metoda jest czasami preferowana, ponieważ automatycznie zamyka ssh-agent po zamknięciu okna terminala. (Po uruchomieniu go evalagent pozostałby uruchomiony, ale niedostępny).
Jednak to uruchamia tylko pustego agenta. Aby faktycznie był użyteczny, musisz użyć ssh-add , który odblokowuje twoje klucze (zwykle ~/.ssh/id_*) i ładuje je do agenta, czyniąc je dostępnymi dla połączeń ssh lub sftp .
Czy istnieje sposób, aby jednorazowo uruchomić ssh-agent w wielu sesjach bash?
Asim
9
Ponadto możesz dodać niektóre klucze na początku sesji.
Edytuj ~/.bashrcplik i dodaj:
ssh-add &>/dev/null || eval `ssh-agent` &>/dev/null # start ssh-agent if not present
[ $? -eq 0 ] && { # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null # Load key 2
}
Sprawdź swoje klucze za pomocą ssh-add -l
Możesz zatrzymać bieżącą sesję agenta ssh za pomocą ssh-agent -k
Coś, co należy wiedzieć o ssh-agent i .bashrc, to nie ładowanie zbyt wielu kluczy. Domyślna liczba prób demona ssh jest ograniczona do 6. Można to zmienić /etc/ssh/sshd_configza pomocą MaxAuthTrieswartości.
Odpowiedzi:
Agent to program, który trzyma klucze w pamięci tak, że trzeba tylko odblokować je raz , zamiast za każdym razem. ssh-agent robi to dla kluczy SSH.
Typowe metody uruchamiania ssh-agent to:
eval `ssh-agent`
- uruchamia to agenta w tle i ustawia odpowiednie zmienne środowiskowe dla bieżącej instancji powłoki.( ssh-agent , po uruchomieniu bez argumentów, wyświetla polecenia do interpretacji przez powłokę).
exec ssh-agent bash
- uruchamia nową instancjębash
powłoki, zastępując obecną.(Przy jednym lub większej liczbie argumentów ssh-agent nie wypisuje niczego, ale uruchamia określone polecenie: w tym przypadku
bash
powłokę, ale technicznie może to być cokolwiek.)Druga metoda jest czasami preferowana, ponieważ automatycznie zamyka ssh-agent po zamknięciu okna terminala. (Po uruchomieniu go
eval
agent pozostałby uruchomiony, ale niedostępny).Jednak to uruchamia tylko pustego agenta. Aby faktycznie był użyteczny, musisz użyć ssh-add , który odblokowuje twoje klucze (zwykle
~/.ssh/id_*
) i ładuje je do agenta, czyniąc je dostępnymi dla połączeń ssh lub sftp .źródło
Ponadto możesz dodać niektóre klucze na początku sesji.
Edytuj
~/.bashrc
plik i dodaj:Sprawdź swoje klucze za pomocą
ssh-add -l
Możesz zatrzymać bieżącą sesję agenta ssh za pomocą
ssh-agent -k
Coś, co należy wiedzieć o ssh-agent i .bashrc, to nie ładowanie zbyt wielu kluczy. Domyślna liczba prób demona ssh jest ograniczona do 6. Można to zmienić
/etc/ssh/sshd_config
za pomocąMaxAuthTries
wartości.źródło
ssh-add
pomocą „&”? Czy zakładasz, że pliki kluczy prywatnych nie są chronione?