W ciągu ostatnich kilku dni starałem się zapoznać z SSH i mam nadzieję, że to zrozumiałem.
Pozostaje jednak jedno pytanie - czy mój klucz jest powiązany ze mną (jako użytkownikiem) czy z moim kontem użytkownika na komputerze?
Nie masz klucza, masz parę kluczy. To, jak sobie z nimi poradzisz, jest zupełnie inne. Twój klucz publiczny można opublikować na Twitterze i udostępnić całemu światu (w tym oszustów). Twój klucz prywatny musi być starannie chroniony.
Mam ten sam klucz publiczny na wszystkich serwerach, do których uzyskuję dostęp przez SSH.
Trzymam ten sam klucz prywatny na dwóch komputerach stacjonarnych i jednym netbooku, którego używam do uzyskania dostępu do tych serwerów. Trzymam również klucz prywatny na dysku USB do użytku na komputerach innych osób (bez kopiowania go na komputer). Używam silnego hasła do ochrony klucza prywatnego. Nie ma powodu, dla którego nie można po prostu przechowywać klucza prywatnego tylko na dysku USB (i nowe gdzie indziej).
Klucz prywatny reprezentuje twoją tożsamość. To, czy mieć różne klucze na różnych komputerach, zależy od tego, czy uważasz „ja na komputerze A” i „ja na komputerze B” jako tę samą tożsamość.
Główną zaletą posiadania jednego klucza prywatnego jest łatwość konserwacji. Wystarczy wdrożyć jeden klucz publiczny we wszystkich miejscach, w których chcesz się zalogować, a będziesz mógł zalogować się tam z dowolnego miejsca.
Główną zaletą posiadania wielu kluczy prywatnych jest ograniczenie możliwego uszkodzenia w przypadku naruszenia klucza.
Na przykład, jeśli masz kilka fizycznie bezpiecznych komputerów plus laptop, sensowne byłoby posiadanie wspólnego klucza prywatnego na wszystkich tych fizycznie bezpiecznych komputerach, ale inny klucz na laptopie. W ten sposób, jeśli laptop zostanie skradziony, możesz unieważnić odpowiedni klucz publiczny i nadal móc logować się z jednej fizycznie bezpiecznej maszyny na drugą.
źródło
W przypadku ssh para kluczy (public + private) reprezentuje pojedynczą tożsamość. Trzymasz swój chroniony klucz prywatny na zaufanych komputerach, które możesz chronić. Umieszczasz informacje o kluczu publicznym na komputerach, do których chcesz mieć dostęp zdalny poprzez uwierzytelnianie klucza.
Nie powinieneś umieszczać swojego klucza prywatnego na komputerach, którym nie ufasz - więc kopiowanie .ssh / around może być ryzykowne.
Na komputerach, z którymi chcesz się połączyć, umieścisz kopię swojego klucza publicznego w określonym pliku (zwykle .ssh / autoryzowane_klucze), co pozwala na przeprowadzenie uwierzytelnienia. Więc technicznie nigdzie nie kopiujesz kluczy, po prostu kopiujesz zawartość tylko swojego klucza publicznego do innego pliku.
Zakładając, że masz jeden komputer, któremu ufasz i 12, z którymi chcesz się połączyć, umieściłbyś informacje o kluczu publicznym w pliku .ssh / Author_keys na 12 komputerach.
Później możesz mieć inną maszynę, której w pełni ufasz. To całkowicie twój wybór, czy utworzysz nową parę kluczy publicznych / prywatnych dla tego komputera i skopiujesz klucz publiczny do 12 plików .ssh / autoryzowanych_kluczy, czy też skopiujesz swój klucz prywatny na nową maszynę (w tym momencie nic nie robisz z 12 innymi maszynami). To zależy od tego, jak bardzo ufasz poszczególnym maszynom.
Staram się mieć jak najmniej par kluczy, które mają sens dla bezpieczeństwa, które próbujesz osiągnąć.
Twoja podstawowa przesłanka jest jednak poprawna, para kluczy jest bardziej związana z tobą niż z kontem (tzn. Możesz umieścić ten sam klucz publiczny na 3 kontach na serwerze, a następnie ssh na dowolnym z nich z komputera, z tylko jednym pojedynczy klucz prywatny).
źródło
Klucze są powiązane z kontami użytkowników, na których chcesz je zainstalować.
Możesz utworzyć wiele kluczy dla każdego komputera lub używać tego samego klucza wszędzie; to zależy od Ciebie. Który nie robi różnicy.
źródło