Więc wszyscy wiemy, jak używać klucza publicznego / prywatnego za pomocą SSH itp. Ale jaki jest najlepszy sposób ich użycia / ponownego wykorzystania? Czy powinienem trzymać je w bezpiecznym miejscu na zawsze? To znaczy, potrzebowałem pary kluczy, aby uzyskać dostęp do GitHub. Stworzyłem parę od podstaw i używałem jej przez pewien czas, aby uzyskać dostęp do GitHub. Następnie sformatowałem dysk twardy i zgubiłem tę parę. Wielka sprawa, stworzyłem nową parę i skonfigurowałem GitHub do używania mojej nowej pary. Czy jest to coś, czego nie chcę stracić?
Potrzebowałem również pary kluczy publicznych / prywatnych, aby uzyskać dostęp do systemów naszej firmy. Nasz administrator poprosił mnie o mój klucz publiczny, a ja wygenerowałem nową parę i dałem mu go. Czy ogólnie lepiej jest utworzyć nową parę w celu uzyskania dostępu do różnych systemów, czy lepiej jest mieć jedną parę i użyć jej ponownie w celu uzyskania dostępu do różnych systemów? Podobnie, czy lepiej jest utworzyć dwie różne pary i użyć jednej, aby uzyskać dostęp do systemów naszych firm z domu, a drugiej, aby uzyskać dostęp do systemów z pracy, czy też lepiej jest mieć tylko jedną parę i korzystać z niej z obu miejsc?
źródło
Odpowiedzi:
Zdecydowanie powinieneś mieć osobne klucze prywatne dla każdego pochodzenia . Zasadniczo oznacza to, że zasadniczo powinna istnieć jedna kopia każdego klucza prywatnego (nie licząc kopii zapasowych). Można używać tego samego klucza prywatnego z blisko spokrewnionego komputera, w sytuacjach, gdy włamanie się do jednego zasadniczo daje dostęp do drugiego (na przykład, jeśli są one w sobie
shosts.equiv
). Nie używaj tego samego klucza prywatnego na komputerach w różnych sferach (np. W domu i pracy), nigdy nie udostępniaj klucza prywatnego dwóm użytkownikom i nigdy nie udostępniaj klucza prywatnego między laptopem a żadnym innym komputerem.W większości przypadków nie widzę sensu w posiadaniu różnych kluczy prywatnych do różnych miejsc docelowych. Jeśli klucz prywatny zostanie naruszony, wszystkie inne klucze prywatne przechowywane w tym samym katalogu na pewno również zostaną naruszone, więc pojawiłaby się komplikacja bez korzyści bezpieczeństwa.
Jeśli przestrzegasz tych zasad, każda para kluczy identyfikuje jedną parę (komputer, użytkownik), co ułatwia zarządzanie autoryzacją.
Mogę wymyślić dwa wyjątki od ogólnej zasady jednego klucza prywatnego dla każdego pochodzenia:
źródło
Nie wiem, co jest najlepszym sposobem, ale mogę powiedzieć, która jest moja droga.
Jako sysadmin używam innego klucza, aby uzyskać dostęp do każdego serwera / usługi jako root. W ten sposób, jeśli klucz zostanie zgubiony lub zagrożony, ograniczam ryzyko do jednego serwera i nie muszę aktualizować wszystkich moich usług za pomocą zupełnie nowych kluczy.
Mówiąc o użytkownikach, używam innego klucza dla każdego z nich. Za pomocą tego klucza użytkownik może uzyskać dostęp do usługi, której potrzebuje jako użytkownik nieuprzywilejowany. W ten sposób mogę łatwo przyznać lub odwołać dostęp do pojedynczych usług każdemu użytkownikowi. W przypadku utraty klucza przez użytkownika mogę go usunąć ze wszystkich usług i ograniczyć ryzyko nieautoryzowanego dostępu.
źródło
Wierzę, że możesz użyć klucza prywatnego w dowolnym miejscu, o ile umieścisz na nim hasło, co oznacza, że jeśli chcesz udostępnić swój klucz prywatny kilku komputerom, powiedzmy laptop 1, 2, pulpit 1, 2, powinno być w porządku.
Z mojego doświadczenia wynika, że moim głównym komputerem jest pulpit, na którym wykonuję większość pracy za pomocą wydajnego procesora, ale czasami muszę używać laptopa na telefonie komórkowym, rozwiązywać problemy w centrum danych i tym podobne, więc nadal mogę zalogować się do dowolnego hosta w którym znajduje się mój klucz publiczny.
źródło
W mojej firmie korzystamy z tych kluczy specyficznych dla użytkownika. To oznacza przypadek drugi. Użytkownik ma swój własny klucz, który jest używany na każdym komputerze, którego używa do łączenia się z systemem firmy. moim zdaniem jest użycie jednego klucza dla jednego systemu. Oznacza to, że używasz tego klucza na każdym komputerze, którego potrzebujesz, aby połączyć się z określonymi sieciami. W twoim przypadku byłby to jeden klucz dla GitHub i jeden klucz dla systemu firmy. Więc jeśli administrator zapyta cię ponownie, dam mu ten sam klucz, co ostatnim razem. nie nowy. Ale nie wiem, czy istnieje wspólna polityka użytkowania tych kluczy i odtąd robię to źle. To na pewno możliwe ;-)
źródło
Wygenerowany klucz publiczny jest dla wszystkich. Umożliwi im to: a) sprawdzenie autentyczności, b) szyfrowanie
Klucz prywatny jest, no cóż, prywatny. To jest tylko dla ciebie. I to jest klucz, który należy gdzieś wykonać w bezpiecznym miejscu. Możesz go również zaszyfrować bezpiecznym hasłem, jeśli na przykład zapiszesz go w pamięci USB.
Klucz publiczny to twoja tożsamość w stosunku do innych. Więc nie ma problemu / lepiej używać jednej pary kluczy do wszystkiego, przynajmniej tam, gdzie nie chcesz używać wyraźnej nowej tożsamości, aby inni nie wiedzieli, że to ty.
źródło