Gdzie są przechowywane klucze prywatne klienta ssh?

12

Na kliencie, po dodaniu ssh-add, aby dodać mój klucz prywatny, wszystko działa dobrze, ssh-add -lwyświetla listę kluczy i mogę połączyć się z hostami, które mają odpowiedni klucz publiczny, ale nic nie zmienia w katalogu .ssh, tak jak powinno. Więc moje pytanie brzmi: jak czy mogę zlokalizować katalog, w którym przechowywane są klucze prywatne ssh-add?

myhau
źródło

Odpowiedzi:

18

ssh-addnie przechowuje niczego lokalnie ani zdalnie na dysku. To polecenie ładuje klucz prywatny, prosząc raz o hasło, do wcześniej uruchomionego agenta SSH.

Agent SSH przechowuje klucze prywatne tylko w pamięci. Po uruchomieniu klienta SSH korzysta on z klucza prywatnego z agenta SSH, bez pytania o hasło klucza prywatnego, w celu uwierzytelnienia na serwerze docelowym.

.sshWola katalog zawiera (w katalogu domowym każdego użytkownika):

  • authorized_keys : lista kluczy publicznych, których można używać do łączenia się z tym serwerem
  • config : opcjonalny plik z parametrami konfiguracji dla klienta SSH
  • klucze publiczne i prywatne wygenerowane na tym hoście dla tego użytkownika.
  • known_hosts : utrzymuj listę hostów, z którymi już się połączyłeś, wraz z hashem, aby wykryć, czy klucz hosta zmienił się od czasu ostatniego razu.
Benoit
źródło
2

ssh-addnie powinien niczego zmieniać ~/.ssh. Mówi ssh-agentprogramowi, które tożsamości dodać, a ssh-agentprogram zapisuje je w pamięci po zapytaniu o hasła. Więc nie ma takiego katalogu.

muru
źródło
1
~/.ssh/id_rsa

W tym artykule pokazano, jak wygenerować klucz do powyższej ścieżki. To nie jest mój artykuł :)

kalajeng
źródło