Jak zmienić parę kluczy dla mojej instancji ec2 w konsoli zarządzania AWS? Mogę zatrzymać instancję, mogę utworzyć nową parę kluczy, ale nie widzę żadnego łącza do modyfikacji pary kluczy instancji.
amazon-web-services
amazon-ec2
ssh
key-pair
Michael Chen
źródło
źródło
Odpowiedzi:
Ta odpowiedź jest przydatna w przypadku, gdy nie masz już dostępu SSH do istniejącego serwera (tj. Utraciłeś swój klucz prywatny).
Jeśli nadal masz dostęp do SSH, skorzystaj z jednej z poniższych odpowiedzi.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#replacing-lost-key-pair
Oto co zrobiłem dzięki postowi na blogu Erica Hammonda:
/dev/xvda1
objętość (nazwijmy to tomem A) - patrz tutaj/dev/xvdf
(lub/dev/sdf
)SSH do nowej mikro instancji i podłącz wolumin A do
/mnt/tmp
$ sudo mount / dev / xvdf1 / mnt / tmp
Skopiuj
~/.ssh/authorized_keys
do/mnt/tmp/home/ubuntu/.ssh/authorized_keys
/dev/xvda
.pem
plikuOtóż to.
źródło
mkdir /mnt/tmp
i wtedymount /dev/xvdf /mnt/tmp
powinien zrobić lewę dla # 5. I nie zapominaj, że krok 13. prawdopodobnie dotyczy urządzeń,rm ~/.ssh/known_hosts
z którymi się łączysz..ssh/authorized_keys
pliku.Po uruchomieniu instancji nie ma możliwości zmiany pary kluczy powiązanych z instancją na poziomie metadanych, ale można zmienić klucz ssh używany do łączenia się z instancją.
W przypadku większości interfejsów AMI jest proces uruchamiania, który pobiera publiczny klucz ssh i instaluje go w pliku .ssh / Author_keys, dzięki czemu można ssh jako użytkownik przy użyciu odpowiedniego prywatnego klucza ssh.
Jeśli chcesz zmienić klucz ssh, którego używasz do uzyskania dostępu do instancji, zechcesz edytować plik autoryzowany_ kluczy w samej instancji i przekonwertować na nowy klucz publiczny ssh.
Plik autoryzowanych_kluczy znajduje się w podkatalogu .ssh w katalogu osobistym zalogowanego użytkownika. W zależności od uruchomionego interfejsu AMI może on znajdować się w jednym z:
Po edycji pliku autoryzowanych_kluczy zawsze używaj innego terminala, aby potwierdzić, że możesz ssh zalogować się do instancji, zanim rozłączysz się z sesją do edycji pliku. Nie chcesz popełnić błędu i całkowicie zamknąć się z instancją.
Podczas gdy myślisz o parach kluczy ssh na EC2, zalecam przesłanie własnego osobistego klucza publicznego ssh do EC2 zamiast zlecania Amazon wygenerowania pary kluczy dla ciebie.
Oto artykuł, który o tym napisałem:
Dotyczy to tylko nowych uruchomionych instancji.
źródło
.pem
plik klucza prywatnego na moim komputerze Mac, jednakssh -i key.pem
nie jest on uwierzytelniany (odmowa dostępu (publickey)). W konsoli zarządzania EC2 w obszarze Nazwa pary kluczy nic nie wyświetla. To mnie niepokoi. Jak mogę to ustawić? Wygląda na to, że w oparciu o konsolę zarządzania do skonfigurowanej instancji nie przypisano żadnych skonfigurowanych przeze mnie par kluczy!Uruchom to polecenie po pobraniu pem AWS.
Następnie zrzuć dane wyjściowe do
authorized_keys
.Lub skopiuj plik pem do instancji AWS i wykonaj następujące polecenia
i wtedy
źródło
Instrukcja obsługi AWS EC2:
Uwaga - musisz skopiować treść jako jedną linię - usuń wszystkie nowe linie
spowoduje to zapisanie zaktualizowanego pliku uprawnione klucze
teraz spróbuj otworzyć nową sesję SSH dla swojego wystąpienia przy użyciu nowego klucza pai
Po potwierdzeniu, że możesz połączyć się z instancją przy użyciu nowej pary kluczy, możesz vi .ssh / autoryzowany_klucz i usunąć stary klucz.
Odpowiedź na uwagę Shaggie:
Jeśli nie możesz połączyć się z instancją (np. Klucz jest uszkodzony), użyj konsoli AWS, aby odłączyć wolumin ( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html ) i podłącz go ponownie do działającej instancji, a następnie zmień klucz na woluminie i podłącz go z powrotem do poprzedniej instancji.
źródło
Zauważyłem, że gdy zarządza Elastic Beanstalk, to może zmienić aktywną parę kluczy EC2. W obszarze Elastic Beanstalk> Konfiguracja> Bezpieczeństwo wybierz nowy klucz z listy rozwijanej pary kluczy EC2 . Zobaczysz tę wiadomość z pytaniem, czy masz pewność:
Moja instancja została już zakończona, kiedy to zrobiłem. Następnie zaczął, zakończył i zaczął od nowa. Najwyraźniej „zastąpienie” oznacza zakończenie i utworzenie nowej instancji. Jeśli zmodyfikowałeś wolumin rozruchowy, najpierw utwórz AMI, a następnie określ ten AMI w tym samym formularzu Elastic Beanstalk> Konfiguracja> Instancje jako niestandardowy identyfikator AMI . Ostrzega również o zamianie instancji EC2.
Po zmodyfikowaniu pary kluczy EC2 i niestandardowego identyfikatora AMI oraz wyświetleniu ostrzeżeń o obu z nich kliknij Zapisz, aby kontynuować.
Pamiętaj, że adres IP zmienia się po ponownym utworzeniu instancji, dlatego musisz pobrać nowy adres IP z konsoli EC2, aby użyć go podczas łączenia przez SSH.
źródło
Przeszedłem przez to podejście i po pewnym czasie udało mi się sprawić, by działało. Brak rzeczywistych poleceń sprawił, że było to trudne, ale wymyśliłem to. JEDNAK - znacznie łatwiejsze podejście zostało znalezione i przetestowane wkrótce po:
źródło
Wykonanie poniższych kroków pozwoli zaoszczędzić dużo czasu i nie będzie potrzeby zatrzymywania działającej instancji.
To jest to. Ciesz się :)
źródło
Uważam, że najprostszym podejściem jest:
źródło
Jeśli korzystasz z platformy ElasticBeanstalk, możesz zmienić klucze, przechodząc:
Spowoduje to zakończenie bieżącej instancji i utworzenie nowej z wybranymi kluczami / ustawieniami.
źródło
W tym pytaniu zadawane są dwa scenariusze: -
1) Nie masz dostępu do pliku .pem , dlatego chcesz utworzyć nowy.
2) Masz. dostęp do pliku pem z tobą, ale po prostu chcesz zmienić lub utworzyć nowy plik .em dla pewnych słabych punktów lub ze względów bezpieczeństwa .
Więc jeśli zgubiłeś klucze, możesz przewinąć w górę i zobaczyć inne odpowiedzi . Ale jeśli po prostu zmienisz plik .pem ze względów bezpieczeństwa, wykonaj następujące czynności: -
plik i usuń lub zmień poprzedni RSA stąd.
Uwaga: - Usuń ostrożnie, aby nowo utworzone RSA nie zostało zmienione.
W ten sposób możesz zmienić / połączyć nowy plik .pem z działającą instancją.
Możesz odwołać dostęp do wcześniej wygenerowanego pliku .pem ze względów bezpieczeństwa.
Mam nadzieję, że to pomoże!
źródło
Najprostszym rozwiązaniem jest skopiowanie zawartości
w uprawnione klucze twojej instancji AWS pod adresem
Umożliwi to ssh do instancji EC2 bez określania pliku pem dla komendy ssh. Możesz usunąć wszystkie pozostałe klucze po przetestowaniu połączenia z nim.
Jeśli musisz utworzyć nowy klucz, aby udostępnić go komuś innemu, możesz to zrobić za pomocą:
który utworzy plik private key.pem, a klucz publiczny można uzyskać za pomocą:
Każdy, kto ma private_key.pem, będzie mógł się połączyć
źródło
~/.ssh/authorized_keys
gdy nie mogę nawet wystąpienia aws SSH?Nie musisz obracać urządzenia głównego i zmieniać klucza publicznego SSH
authorized_keys
. W tym celu można użyć danych użytkownika, aby dodać klucze ssh do dowolnej instancji. Po pierwsze musisz utworzyć nową KeyPair za pomocą konsoli AWS lub poprzez ssh-keygen.Spowoduje to wygenerowanie klucza publicznego dla nowej pary kluczy SSH, skopiowanie tego klucza publicznego i użycie go w skrypcie poniżej.
Po ponownym uruchomieniu komputer będzie miał określony klucz publikowania SSH. Usuń dane użytkownika po pierwszym uruchomieniu. Przeczytaj więcej o danych użytkownika podczas uruchamiania .
źródło
Ostrzeżenie: nie zapomnij ponownie wyczyścić danych użytkownika. W przeciwnym razie ten klucz będzie wypychany przy każdym uruchomieniu instancji. Instrukcje krok po kroku .
źródło
Próbowałem poniżej kroków i działało bez zatrzymywania instancji. Moim wymaganiem było - ponieważ zmieniłem komputer kliencki, stary plik .pem nie pozwalał mi zalogować się do instancji ec2.
W tym pliku zobaczysz swoje stare klucze.
ssh-keygen -f YOUR_PEM_FILE.pem -y Wygeneruje klucz. Dołącz klucz do ~ / .ssh / uprawnionych_kluczy otwartych w kroku # 1. Nie trzeba usuwać starego klucza.
Z konsoli AWS utwórz nową parę kluczy. Przechowuj w nowej maszynie. Zmień nazwę na stary plik pem - przyczyną jest to, że stary plik pem jest nadal powiązany z instancją ec2 w AWS.
Wszystko gotowe.
Jestem w stanie zalogować się do AWS ec2 z mojego nowego komputera klienckiego.
źródło
Masz kilka opcji, aby zastąpić klucz instancji EC2.
Ponieważ pierwszą opcję można łatwo znaleźć w odpowiedziach lub w wybranej wyszukiwarce, chcę skupić się na menedżerze systemów.
Systems Manager
Automation
lewej stronie.Execute Automation
AWSSupport-TroubleshootSSH
(zwykle jest na ostatniej stronie)Więcej informacji można znaleźć w oficjalnej dokumentacji AWS
źródło
Odpowiedź Yegor256 zadziałała dla mnie, ale pomyślałem, że dodam kilka komentarzy, aby pomóc tym, którzy nie są tak dobrzy w montowaniu napędów (jak ja!):
Amazon daje ci wybór tego, co chcesz nazwać woluminem po dołączeniu. Używasz nazwy z zakresu od / dev / sda - / dev / sdp. Nowsze wersje Ubuntu zmienią następnie nazwę tego, co tam umieścisz, na / dev / xvd (x) lub coś w tym celu.
Więc dla mnie wybrałem / dev / sdp jako nazwę nazwy montowania w AWS, następnie zalogowałem się na serwerze i odkryłem, że Ubuntu zmieniło nazwę mojego woluminu na / dev / xvdp1). Następnie musiałem zamontować dysk - dla mnie musiałem to zrobić w następujący sposób:
Po przejściu przez te wszystkie obręcze mogłem uzyskać dostęp do moich plików na / mnt / tmp
źródło
Działa to tylko wtedy, gdy masz dostęp do instancji, w której chcesz zmienić / dodać klucz. Możesz utworzyć nową parę kluczy. Lub jeśli masz już parę kluczy, możesz wkleić klucz publiczny nowej pary do pliku uprawnionego z kluczy.
vim .ssh / uprawnione_klucze
Teraz możesz użyć klucza prywatnego dla tej pary i zalogować się.
Mam nadzieję że to pomoże.
źródło
Mój problem polegał na tym, że próbowałem
IP
raczej niż publicznieDNS
. Potem spróbowałempublic DNS
i jego rozwiązanieźródło
jeśli nie możesz się zalogować na maszynie wirtualnej i usunąłeś klucze ssh, a także możesz zmienić parę kluczy ec2, wykonując poniższe kroki. Idź krok po kroku 1) zatrzymaj instancję ec2. 2) zrób migawkę maszyny wirtualnej i pamięci. 3) utwórz nową maszynę wirtualną podczas jej tworzenia, wybierz migawkę i utwórz maszynę wirtualną z migawki. 4) podczas tworzenia maszyny wirtualnej pobiera parę kluczy. 5) po VM UP możesz ssh z nową parą kluczy, a dane również zostaną przywrócone.
źródło
Co możesz zrobić...
Utwórz nowy profil instancji / rolę, do której dołączono zasady AmazonEC2RoleForSSM.
Dołącz ten profil wystąpienia do wystąpienia.
źródło
Dzięki za wskazówki chłopaki. Na pewno będę o nich pamiętać, gdy będę musiał odpocząć od kluczowych par. Jednak w interesie wydajności i lenistwa wymyśliłem coś innego:
Mam nadzieję, że może ci się to przydać i zaoszczędzić trochę czasu, a także zminimalizować liczbę białych włosów uzyskanych z takich rzeczy :)
źródło