Jeśli chcesz mieć loginy ssh oparte na kluczu publicznym dla wielu komputerów, czy używasz jednego klucza prywatnego i umieszczasz ten sam klucz publiczny na wszystkich komputerach? A może masz jedną parę kluczy prywatny / publiczny dla każdego połączenia?
23
Odpowiedzi:
Używam jednego klucza na zestaw systemów, które mają wspólną granicę administracyjną. Ogranicza to liczbę komputerów, które wyskakują w przypadku naruszenia klucza, ale nie całkowicie przytłacza moją zdolność do przechowywania i zarządzania kilkoma tysiącami kluczy. Różne hasła na każdym kluczu oznaczają, że nawet jeśli wszystkie klucze prywatne zostaną skradzione, a jeden klucz zostanie naruszony, reszta nie pójdzie z nim do toalety. Ponadto, jeśli zrobisz coś głupiego (na przykład skopiujesz klucz prywatny na niezaufany komputer), znowu nie musisz ponownie wszystkiego wszystkiego, tylko maszyny powiązane z tym kluczem.
źródło
Klucz publiczny nie ma większego znaczenia, ponieważ z definicji można go opublikować. Tak więc jedynym problemem jest prywatność twoich kluczy prywatnych. Są na twojej maszynie i wszystkie razem, więc jeśli ktoś zostanie narażony na szwank, prawdopodobne jest, że wszyscy zostaną zagrożeni. Dlatego wiele par kluczy to po prostu więcej pracy dla tego samego efektu.
Używam różnych kluczy tylko dla różnych kont lub ról, które z definicji nie powinny mieć pełnego nakładania się.
źródło
Jeśli dobrze rozumiem, każdy serwer będzie miał swój własny klucz publiczny.
Dla danego użytkownika możesz wygenerować jeden klucz i używać go wszędzie, o ile klucz prywatny jest replikowany na wszystkich hostach inicjujących. (Odbywałoby się to automatycznie za pośrednictwem montowanych w sieci katalogów domowych i opartego na katalogu systemu uwierzytelniania, takiego jak OpenLDAP, ponieważ użytkownik zawsze będzie „taki sam”, niezależnie od tego, z której stacji roboczej się loguje.)
Poza systemem użytkownika opartym na katalogach myślę, że używanie tego samego klucza wszędzie jest kiepskim pomysłem - kończy się to obniżeniem poziomu bezpieczeństwa systemu, ponieważ każdy, kto może uzyskać klucz z dowolnej stacji roboczej, może następnie uwierzytelnić się jako tego użytkownika na zdalnym serwerze.
Inną alternatywą, narzuconą przez kilka dużych korporacji (i jestem pewien, że również małe) jest to, aby nigdy nie pozwolić „użytkownikowi” na używanie kluczy współdzielonych, ale raczej zalogować się w polu „skoku” lub „centrum” ,
su
odpowiedniemu łączącemu się użytkownikowi, a następnie SSH stamtąd do serwerów, którymi muszą zarządzać.Ponadto, jeśli korzystasz z systemu zarządzania, takiego jak platforma HP Server Automation, to zdalne administrowanie zarządzanymi serwerami staje się bardziej uproszczonym procesem.
źródło
su
sesja jest rejestrowana, można ją kontrolować.su
sesje są kontrolowane, a nie pozostałe?Jak powiedzieli inni, chociaż koncepcja wielu par kluczy może wydawać się bardziej bezpieczna, jeśli istnieje szansa, że zostaną one użyte w taki sposób, że wszystkie znajdują się w tym samym miejscu, jest to po prostu bardziej kłopotliwe i nie bardziej bezpieczne. Wiele haseł uczyniłoby to bezpieczniejszym, ale także duży ból głowy, próbując zapamiętać, które hasło pasuje do którego klucza, a który klucz do którego serwera.
Najbardziej rozsądną odpowiedzią byłaby dla mnie ta, w której zasugerowano, aby zrobić to TYLKO, jeśli obejmuje ona oddzielne role administracyjne bez nakładania się. Tak, że mogą to być różni ludzie zajmujący się różnymi rolami lub na różnych stacjach roboczych lub cokolwiek innego. W takim przypadku masz do czynienia z bardziej wyjątkowymi rzeczami dla każdej roli, więc jest to bardziej uzasadnione.
źródło
Aby ułatwić zarządzanie wieloma serwerami obsługującymi SSH, możesz wypróbować cssh . Możesz łączyć cssh z kluczami SSH z podanymi hasłami, aby znacznie zwiększyć swoją zdolność do zarządzania wieloma serwerami jednocześnie.
źródło