Czy można utworzyć więcej niż jeden klucz prywatny do SSH w instancji EC2? Jaka jest ogólna najlepsza praktyka w tym zakresie? Mamy wielu użytkowników, którzy potrzebują SSH do serwerów, a dystrybucja jednego klucza po prostu nie działa dobrze. Nie pozwala nam to na usunięcie użytkowników z SSH na serwerze, chyba że zmienimy klucz i dokonamy redystrybucji.
amazon-ec2
amazon-web-services
obdarzony wyobraźnią
źródło
źródło
Odpowiedzi:
Absolutnie; po prostu umieść wszystkie odpowiednie klucze publiczne w obrazie i powinieneś już iść. Wolę używać systemu zarządzania konfiguracją do zarządzania kluczami SSH; w ten sposób odwołanie dostępu użytkownika nawet w uruchomionych systemach jest dość trywialne. Istnieje również o wiele więcej… powiedzmy „pomysłowy”… sposoby radzenia sobie z tym, takie jak przechowywanie wszystkich kluczy SSH w LDAP, które scentralizują klucze SSH jak każde inne dane uwierzytelniające.
źródło
Możesz także użyć standardowych mechanizmów ssh. Najlepszym rozwiązaniem byłoby uruchomienie na komputerze komputera w
ssh-keygen
celu wygenerowania pary kluczy. Następnie wysyłają Ci~/.ssh/id_rsa.pub
(lub id_dsa.pub, w zależności od wybranego algorytmu) i dodajesz jego zawartość do.ssh/authorized_keys
hosta docelowego w katalogu osobistym konta użytkownika, do którego powinien mieć dostęp. Plik może zawierać więcej niż jeden klucz. Jeden na linię. I to wszystko! Ten sam klucz publiczny (id_rsa.pub) może być używany na dowolnej liczbie hostów - zawsze będzie identyfikował użytkownika.Możesz to również zrobić na odwrót - uruchamiasz ssh-keygen i wysyłasz ~ / .ssh / id_rsa (lub id_dsa) do użytkownika. A użytkownik zapisuje plik do ~ / .ssh / id_rsa. Trzeba tylko pamiętać, aby zmienić uprawnienia do 600 (-rw -------) tego pliku, w przeciwnym razie ssh go nie zaakceptuje. Jest to oczywiście mniej bezpieczne, ponieważ prawdopodobnie klucz prywatny jest dystrybuowany za pośrednictwem poczty elektronicznej.
Można to również zrobić w PuTTY za pomocą PuTTYgen.
źródło
Prostszy sposób pokazano poniżej.
Użytkownicy systemów Linux / Mac:
Aby utworzyć klucze publiczne i prywatne, użyj następującego polecenia:
$ ssh-keygen -t rsa -b 4096
Prześlij klucz publiczny do folderu w swoim segmencie S3. Na przykład: S3> MyBucket> Keypair
Zapisz i zabezpiecz swój klucz prywatny.
Dla użytkowników systemu Windows:
Następujące kroki są ważne podczas uruchamiania dowolnego Linux AMI.
Upewnij się, że rola IAM ma rolę utworzoną za pomocą zasad AmazonS3FullAccess. Dzięki temu instancja może przyjąć rolę dostępu do segmentów S3. Jest to potrzebne do odczytania kluczy publicznych z S3 i skopiowania ich do profilu użytkownika
Dodaj następujący kod w sekcji danych użytkownika w Konfiguruj szczegóły wystąpienia> Szczegóły zaawansowane (jako tekst):
Ta konfiguracja tworzy User1 i User2 i dodaje je do użytkowników sudo . Komenda aws s3 cp kopiuje klucze publiczne użytkowników z folderu S3 do ich
.ssh/authorized_keys path
. Ostatnią sekcją jest uruchamianie poleceń jako administrator bez potrzeby podawania hasła.Istnieje wiele ulepszeń bezpieczeństwa, które można polecić tutaj. Chociaż nie jest to wyraźnie użyte w tym przykładzie, ograniczenie dostępu do segmentu S3 do określonego segmentu i znajomość konsekwencji bezpieczeństwa wyłączenia użycia hasła w sudo, to kilka rzeczy, które można wyróżnić. Używaj ich mądrze w zależności od twoich szczególnych potrzeb.
źródło