Nie mogę nawiązać połączenia SSH z moją instancją - przekroczono limit czasu operacji. Jakie mogą być tego przyczyny i co mogę zrobić, aby rozwiązać ten problem? Ponowne uruchomienie zwykle zajmuje dużo czasu i może tylko pogorszyć sytuację
AKTUALIZACJA: Nie chodzi o uprawnienia - normalnie mogę się zalogować. Podejrzewam, że może to być spowodowane problemami z pamięcią
ssh
amazon-ec2
amazon-web-services
ming yeow
źródło
źródło
Odpowiedzi:
Czy ustawiłeś odpowiednią grupę zabezpieczeń dla instancji? To znaczy taki, który umożliwia dostęp z sieci do portu 22 w instancji. (Domyślnie cały ruch jest zabroniony).
Aktualizacja: Ok, nie jest to kwestia grupy zabezpieczeń. Ale czy problem nie ustąpi, jeśli uruchomisz inną instancję z tego samego AMI i spróbujesz uzyskać do niej dostęp? Może ta konkretna instancja EC2 po prostu jakoś przypadkowo zawiodła - to tylko kwestia czasu, aby coś takiego się wydarzyło. (Zalecana lektura: Architecting for the Cloud: Best Practices (PDF), artykuł autorstwa Jinesha Varii, który jest ewangelistą usług internetowych w Amazon. Zobacz zwłaszcza sekcję zatytułowaną „Projektowanie na wypadek awarii i nic nie zawiedzie”).
źródło
ec2-authorize
możesz użyć rozszerzenia Elasticfox Firefox, aby łatwo skonfigurować grupy.)Miałem ten sam problem i ostatecznie rozwiązaniem było dodanie adresu IP mojego komputera lokalnego do listy reguł przychodzących w aktywnej grupie zabezpieczeń. W oknie dialogowym połączenia przychodzącego poniżej wpisz 22 w zakresie portów, lokalny adres IP / 32 w polu źródła i pozostaw „niestandardową regułę tcp” w menu rozwijanym.
źródło
Zniszcz i twórz od nowa
Miałem jedną strefę dostępności, w której mogłem się połączyć, i drugą, w której nie mogłem. Po kilku godzinach byłem tak sfrustrowany, że usunąłem wszystko w tej strefie dostępności.
Budując wszystko z powrotem, musiałem upewnić się, że stworzę WSZYSTKO. Obejmuje to:
CIDR: 10.0.0.0/24
Destination: 0.0.0.0/0
Target: <Internet Gateway from earlier>
CIDR: 10.0.0.0/24
Routing Table: <Routing Table from earlier
Zajęło mi to DUŻO grzebania, aby to wszystko osiągnąć. Uporządkowałem kroki w sposób, który moim zdaniem może być najbardziej efektywny, ale być może będziesz musiał je dostosować, aby uzyskać jeden element dostępny dla następnego.
Sugestia
Nie sugeruję, żebyś poszedł na termojądrowy, tak jak ja. Podaję wszystkie te informacje, abyś mógł sprawdzić te skojarzenia, aby upewnić się, że twoje są odpowiednie.
źródło
Ta odpowiedź jest dla głupich ludzi (takich jak ja). Publiczny DNS Twojego EC2 może (zmieni się) po ponownym uruchomieniu. Jeśli nie zdajesz sobie z tego sprawy i spróbujesz nawiązać połączenie SSH ze starym publicznym DNS, połączenie zostanie przerwane i wygaśnie. Może to prowadzić do przypuszczenia, że coś jest nie tak z twoim EC2 lub grupą bezpieczeństwa albo ... Nie, tylko SSH do nowego DNS. I zaktualizuj swój
~/.ssh/config
plik, jeśli musisz!źródło
Aby się połączyć, użyj ssh w następujący sposób:
Gdzie
keyname.pem
jest nazwa twojego klucza prywatnego,username
to poprawna nazwa użytkownika dla twojej dystrybucji systemu operacyjnego ixxx.xx.xxx.xx
to publiczny adres IP.W przypadku przekroczenia limitu czasu lub niepowodzenia sprawdź następujące kwestie:
Grupa bezpieczeństwa
Upewnij się, że masz regułę ruchu przychodzącego dla portu TCP 22 i wszystkich adresów IP lub IP. Grupę zabezpieczeń można znaleźć w menu ec2 w opcjach instancji.
Tabela routingu
W przypadku nowej podsieci w sieci wirtualnej należy zmienić tabelę routingu, która wskazuje adres 0.0.0.0/0 na docelową bramę internetową . Kiedy tworzysz podsieć w swoim vpc, domyślnie przypisuje domyślną tablicę routingu, która prawdopodobnie nie akceptuje ruchu przychodzącego z Internetu. Możesz edytować opcje tablicy routingu w menu vpc, a następnie w podsieciach.
Elastyczny adres IP
Na przykład w sieci VPN musisz przypisać plik publiczny elastyczny adres IP i skojarzyć go z instancją. Do prywatnego adresu IP nie można uzyskać dostępu z zewnątrz. Elastyczne IP można uzyskać w menu ec2 (nie w menu instancji).
Nazwa Użytkownika
Upewnij się, że używasz poprawnej nazwy użytkownika . Powinien to być jeden z
ec2-user
lubroot
lububuntu
. Wypróbuj je wszystkie, jeśli to konieczne.Prywatny klucz
Upewnij się, że używasz prawidłowego klucza prywatnego (tego, który pobierasz lub wybierasz podczas uruchamiania instancji). Wydaje się oczywiste, ale skopiuj wklej dostałem dwa razy.
źródło
Czy spojrzałeś na dane wyjściowe konsoli z instancji? Możesz to zrobić za pomocą konsoli AWS (Instancje -> Kliknij prawym przyciskiem myszy instancję -> Pobierz dziennik systemowy). Zdarzały się sytuacje, w których usługi sieciowe na instancji EC2 nie uruchamiały się poprawnie, co powodowało przekroczenie limitu czasu połączeń SSH; ponowne uruchomienie instancji zwykle naprawiało rzeczy.
źródło
ZNALAZŁEM TO PO 2 GODZINACH
Zauważ, że ssh ip
120.138.105.251/32
NIE JEST ADRESEM IP instancji aws
To nie jest Twój lokalny adres IP
127.0.0.1
To nie jest Twój lokalny adres IP
localhost
ALE, ALE
To Twój publiczny adres IP Twojego komputera osobistego, z którego próbujesz uzyskać dostęp do instancji aws
JEŚLI CHCESZ W PEŁNI OTWORZYĆ SSH NA WSZYSTKIE ADRESY IP
TAK WYGLĄDA W PEŁNI DOSTĘPNE WPISY - PODSTAWOWE POLECANE
TEGO UŻYWAM W PRODUKCJI
źródło
Oto możliwe problemy:
Najbardziej prawdopodobne jest to, że grupa zabezpieczeń nie jest poprawnie skonfigurowana, aby zapewnić dostęp SSH na porcie 22 do twojego adresu IP Zmiana ustawień zabezpieczeń nie wymaga ponownego uruchomienia serwera, aby była skuteczna, ale musi odczekać kilka minut, aby to zadziałało odpowiedni.
Lokalna konfiguracja zapory nie zezwala na dostęp do serwera za pomocą protokołu SSH. (możesz wypróbować inne połączenie internetowe, swój telefon / klucz sprzętowy, aby spróbować)
Serwer nie został poprawnie uruchomiony (wtedy sprawdzenie dostępu zakończy się niepowodzeniem nawet na konsoli amazon), w takim przypadku należy zatrzymać i uruchomić serwer.
źródło
Sprawdź tę stronę pomocy w dokumentach AWS:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout Prawdopodobnie znajdziesz tam swoje rozwiązanie. dla mnie ta część naprawiła:
Ale proponuję sprawdzić wszystkie opcje, które obejmuje powyższy link, możesz znaleźć tam jeden lub więcej problemów, które masz.
źródło
Mój problem - miałem otwarty port 22 dla „Mojego adresu IP” i zmieniłem połączenie internetowe i zmianę adresu IP. Więc musiałem to zmienić z powrotem.
źródło
Opierając się na
@ted.strauss
odpowiedzi, możesz wybraćSSH
izMyIP
menu rozwijanego zamiast przechodzić do witryny innej firmy.źródło
Po zastosowaniu reguł wystarczy ponownie uruchomić instancję Ec2
źródło
Zezwól na ssh i port 22 z ufw, a następnie włącz go i sprawdź za pomocą polecenia status
źródło
Jeszcze jedna możliwość. Grupy zabezpieczeń AWS są skonfigurowane do pracy tylko z określonymi przychodzącymi adresami IP. Jeśli twoja grupa bezpieczeństwa jest skonfigurowana w ten sposób, Ty (lub właściciel konta) będziesz musiał dodać swój adres IP do grupy bezpieczeństwa. Aby to zrobić, otwórz pulpit nawigacyjny AWS, wybierz grupy bezpieczeństwa, wybierz grupę bezpieczeństwa i kliknij kartę przychodzące. Następnie dodaj odpowiednio swój adres IP.
źródło
Miałem ten sam problem, a rozwiązaniem było zezwolenie na dostęp z dowolnego miejsca do listy reguł przychodzących w aktywnej grupie zabezpieczeń. W oknie dialogowym danych przychodzących wprowadź 22 w zakresie portów w dowolnym miejscu pola źródłowego i wybierz „ssh” z listy rozwijanej.
PS: To może nie być zalecane rozwiązanie, ponieważ oznacza to, że ta instancja może być ssh'owana z dowolnej maszyny, ale nie mogłem jej zmusić do pracy z moim lokalnym adresem IP.
źródło
Miałem podobny problem, gdy korzystałem z publicznego Wifi, które nie miało hasła. Przełączenie połączenia internetowego na bezpieczne połączenie rozwiązało problem.
źródło
Jeśli dostęp SSH nie działa dla Twojej instancji EC2, musisz sprawdzić:
Jeśli używasz instancji VPC (masz identyfikator VPC i identyfikator podsieci dołączone do instancji), sprawdź:
0.0.0.0/0
jako miejsce docelowe, a brama internetowa jako cel.W systemie Linux, można również sprawdzić informacje o trasach w dzienniku systemowym w Sieci instancji, np:
gdzie
UG
flagi pokazujące Twoją bramę internetową.Aby uzyskać więcej informacji, zobacz: Rozwiązywanie problemów z łączeniem się z Twoją instancją w Amazon docs.
źródło
Aby włączyć dostęp ssh z Internetu do instancji w podsieci VPC, wykonaj następujące czynności:
źródło
Dla mnie był to serwer Apache hostowany na instancji t2.micro linux EC2, a nie sama instancja EC2.
Naprawiłem to, wykonując:
sudo su
service httpd restart
źródło
Miałem ten sam problem i rozwiązałem go, dodając regułę do grup bezpieczeństwa
Przychodzący SSH 0.0.0.0/0
Możesz też dodać tylko swój adres IP
źródło
Dla mnie było to, że usunąłem wszystko z woluminu rozruchowego. Nie można już połączyć się z instancją.
źródło
Pracowałem nad instancją i było dobrze, już następnego dnia, gdy próbowałem połączyć się przez SSH z moją instancją, pojawił się komunikat - Limit czasu połączenia.
Próbowałem przejść przez ten post, ale nic nie działało. Więc zrobiłem -
W
Edit inbound rules
kolumnie ze źródła wybierz,MY IP
a Twój publiczny adres IP zostanie automatycznie wypełniony w formacie CIDR (XXX.XXX.XXX.XX/32
).Próbowałem z odpowiedzią @ ted.strauss, podając lokalny adres IP, ale to nie pomogło w moim przypadku. Więc wybrałem MOJE IP i zadziałało.
Mam nadzieję, że to komuś pomoże!
źródło
pinguj najpierw DNS. Jeśli się nie powiedzie, skonfiguruj reguły ruchu przychodzącego / wychodzącego w kreatorze uruchamiania. skonfiguruj CAŁY ruch i WSZYSTKIE protokoły i po prostu zapisz z domyślnymi opcjami. Pinguj ponownie w systemie lokalnym, a następnie powinno działać
źródło
Jeśli właśnie utworzyłeś nową instancję i nie możesz się z nią połączyć, udało mi się rozwiązać problem, zamykając tę instancję i tworząc nową. Oczywiście zadziała to tylko wtedy, gdy jest to nowa instancja i nie wykonałeś już nad nią żadnej pracy.
źródło