EC2 örneğine erişmeye çalışırken zaman aşımının olası nedenleri


104

Örneğime SSH uygulayamıyorum - İşlem zaman aşımına uğradı. Bunun nedenleri neler olabilir ve bunu çözmek için ne yapabilirim? Normalde yeniden başlatmanın etkili olması uzun zaman alır ve işleri daha da kötüleştirebilir

GÜNCELLEME: İzinlerle ilgili değil - normalde gayet iyi oturum açabilirim. Hafıza sorunları yüzünden olabileceğinden şüpheleniyorum


3
Bu gerçekten bir programlama sorusu olmadığı için serverfault.com'u denemelisiniz.
rwilliams

Güvenlik duvarı? SSH o bağlantı noktasında dinliyor mu?
OMG Ponies

1
Başka bir örnek başlatırsanız sorun devam ediyor mu? (Kurulumunuz hakkında daha fazla bilgi sahibi olmak da yardımcı olabilir.) Cevabımı güncelledim.
Jonik

önce DNS'ye ping atın. Başarısız olursa, başlatma sihirbazında gelen / giden kurallarınızı yapılandırın. TÜM trafiği ve TÜM protokolü yapılandırın ve sadece varsayılan seçeneklerle kaydedin. Yerel sisteminizle tekrar ping atın ve sonra çalışmalıdır.
Maiden

Yanıtlar:


67

Örnek için uygun bir güvenlik grubu ayarladınız mı? Örneğin, ağınızdan 22 numaralı bağlantı noktasına erişime izin veren biri. (Varsayılan olarak tüm trafiğe izin verilmez.)

Güncelleme: Tamam, bir güvenlik grubu sorunu değil. Ancak aynı AMI'den başka bir örnek başlatırsanız ve buna erişmeye çalışırsanız sorun devam eder mi? Belki bu belirli EC2 örneği rastgele bir şekilde başarısız oldu - böyle bir şeyin olması an meselesi. (Önerilen okuma: Bulut için Mimari: En İyi Uygulamalar (PDF), Amazon'da bir web hizmetleri müjdecisi olan Jinesh Varia tarafından yazılmış bir makale. Özellikle "Başarısızlık için tasarlayın ve hiçbir şey başarısız olmayacak" başlıklı bölüme bakın.)


EC2 SSS'de de aynı şey var: developer.amazonwebservices.com/connect/… (Ayrıca ec2-authorize, grupları kolayca yapılandırmak için Elasticfox Firefox uzantısını kullanabilirsiniz.)
Jonik

1
Tanrım ... grupta SSH portunu açmak çok basit, burada olmadığına inanamıyorum: alestic.com/2009/08/ec2-connectivity . Gösterdiğiniz için teşekkürler.
mtyson

oh, güvenlik grubunu tamamen unuttum! Teşekkürler!
Antonio Beno

92

Aynı sorunu yaşadım ve çözüm, yerel makinemin IP'sini aktif güvenlik grubundaki gelen kurallar listesine eklemekle sonuçlandı. Aşağıdaki gelen iletişim kutusunda, bağlantı noktası aralığına 22 , kaynak alanına yerel IP'nizi / 32 girin ve açılır menüde 'özel tcp kuralı'nı bırakın.

görüntü açıklamasını buraya girin


6
"Kural ekle" düğmesine bastıktan sonra, etkili olması için "kural değişikliğini uygula" düğmesine de basmanız gerekir. Bunu unutma. Beni birkaç kez mahvetti.
ted.strauss

Bunun için çok teşekkürler!
Hego555

Mükemmel cevap! Artık saldırıya
uğramaktan

2
bu benim için çalıştı, teşekkürler !! Bazı nedenlerden dolayı .. IP adresim değişti ve birden ec2 örneğime erişemedim. Sadece bir kural ekledim ve "özel" bir ip adresi koymak yerine, "IP'm" i seçtim ve wala ... ssh girebildim!
rikkitikkitumbo

İyi cevap! Bu sorun gidermeyi AWS'den de çok yararlı buldum ve yukarıda önerilen noktayı içeriyor.
J0ANMM

28

Yok et ve yeniden yarat

Bağlanabileceğim ve yapamadığım bir kullanılabilirlik alanım vardı. Birkaç saat sonra o kadar hayal kırıklığına uğradım ki, kullanılabilirlik alanındaki her şeyi sildim.

Her şeyi geri inşa ederken HER ŞEYİ yarattığımdan emin olmalıydım. Bu dahil:

  • VPC oluştur
    • CIDR: 10.0.0.0/24
  • İnternet Ağ Geçidi Oluşturun
  • Takın İnternet Ağ Geçidi için VPC
  • Yönlendirme Tablosu Oluştur
  • Ekle Rota için Yönlendirme Tablo
    • Destination: 0.0.0.0/0
    • Target: <Internet Gateway from earlier>
  • Alt Ağ Oluşturun
    • CIDR: 10.0.0.0/24
    • Routing Table: <Routing Table from earlier

Tüm bunları elde etmek için çok uğraştım. Adımları, en verimli olabileceğini düşündüğüm şekilde sıraladım, ancak bir sonraki öğe için kullanılabilir bir öğe elde etmek için bunları ayarlamanız gerekebilir.

Öneri

Benim yaptığım gibi termo nükleer olmanı önermiyorum. Sizinkinin uygun olduğundan emin olmak için bu dernekleri kontrol edebilmeniz için tüm bu bilgileri sunuyorum.


6
bu bana gerçekten yardımcı oldu! Yönlendirme tablomun bir internet ağ geçidine işaret etmediği bir durum yaşadım ve tek sorun buydu.
EdgeCaseBerg

Dürüst olmak gerekirse, bunları SO'da ve github / gists'te belgeliyorum çünkü 2 ay sonra tekrar yapmam gerektiğinde kendimi tekmeleyeceğimi biliyorum. Umarım başkalarına da yardımcı olur. Ama nihayetinde bencil bir felaketim. Yorum yapmaya zaman ayırdığınız için teşekkürler, @EdgeCaseBerg.
Bruno Bronosky

2
Teşekkürler TON @BrunoBronosky. Tam olarak, eğer bu "İnternet ağ geçidi" olayı bu kadar zorunluluksa, o zaman neden varsayılan AWS belgeleri bundan bahsetmiyor? :(
Anand

1
@BrunoBronosky teşekkürler! Bu tam olarak benim örneğe bağlanmamı engelleyen şeydi. Bu adımları geleceğime saklayacağım.
saiyancoder

21

Bu cevap aptal insanlar içindir (benim gibi). EC2'nizin genel DNS'si yeniden başlatıldığında değişebilir (değişecektir). Bunun farkına varmazsanız ve eski genel DNS'nize SSH koymaya çalışırsanız, bağlantı durur ve zaman aşımına uğrar. Bu, EC2'nizde veya güvenlik grubunuzda bir sorun olduğunu varsaymanıza yol açabilir veya ... Hayır, sadece yeni DNS'ye SSH. ~/.ssh/configGerekirse dosyanızı güncelleyin !


Zaman aşımı sorunlarımı gidermek için bir saat ve çözüm buydu. Teşekkürler :)
Eric D. Brown

2
Çok teşekkürler @ dslosky hayatımı kurtardın. :)
A_01

13

Bağlanmak için ssh kullanın:

ssh -i keyname.pem username@xxx.xx.xxx.xx

Nerede keyname.pemsenin özel anahtarın adıdır usernamesenin os dağıtımı için doğru kullanıcı adı ve xxx.xx.xxx.xxkamu ip adresidir.

Zaman aşımına uğradığında veya başarısız olduğunda aşağıdakileri kontrol edin:

Güvenlik Grubu

Tcp bağlantı noktası 22 ve tüm ips veya ip'iniz için bir gelen kuralına sahip olduğunuzdan emin olun . Güvenlik grubunu, örnek seçeneklerinde ec2 menüsü aracılığıyla bulabilirsiniz.

Yönlendirme Tablosu

Bir vpc'de yeni bir alt ağ için, 0.0.0.0/0'ı internet ağ geçidi hedefine işaret eden bir yönlendirme tablosuna geçmeniz gerekir . Vpc'nizde alt ağı oluşturduğunuzda, varsayılan olarak, muhtemelen internetten gelen trafiği kabul etmeyen varsayılan yönlendirme tablosunu atar. Vpc menüsünde ve ardından alt ağlarda yönlendirme tablosu seçeneklerini düzenleyebilirsiniz.

Elastik IP

Bir vpc'deki bir örnek için, genel bir elastik ip adresi atamanız ve bunu örnekle ilişkilendirmeniz gerekir. Özel ip adresine dışarıdan erişilemez. Ec2 menüsünde (örnek menüsünde değil) elastik bir ip elde edebilirsiniz.

Kullanıcı adı

Doğru kullanıcı adını kullandığınızdan emin olun . ec2-userVeya rootveya değerlerinden biri olmalıdır ubuntu. Gerekirse hepsini deneyin.

Özel anahtar

Doğru özel anahtarı (indirdiğiniz veya örneği başlatırken seçtiğiniz) kullandığınızdan emin olun . Açık görünüyor, ancak kopyala yapıştır beni iki kez aldı


1
Bunun için teşekkürler, yeni bir VPC oluşturduğumda internet ağ geçidi hedefine 0.0.0.0/0 eklemeyi her zaman unutuyorum
Chathushka

7

Örnekten konsol çıktısına baktınız mı? Bunu AWS konsolu aracılığıyla yapabilirsiniz (Örnekler -> örneğe sağ tıklayın -> Sistem Günlüğünü Al). Bir EC2 bulut sunucusundaki ağ hizmetlerinin doğru şekilde başlatılamadığı ve SSH bağlantılarının zaman aşımına uğradığı durumlar yaşadım; örneği yeniden başlatmak genellikle sorunları düzeltti.


3

görüntü açıklamasını buraya girin

2 SAAT SONRA BUNU BULDUM

Ssh ip olduğunu unutmayın 120.138.105.251/32

  • Aws örnek IP ADRESİ DEĞİLDİR

  • Bu senin yerel ipin değil 127.0.0.1

  • Bu senin yerel ipin değil localhost

AMA AMA AMA

Onun Sizin sizin kamu ip adresi kişisel Bilgisayar Kendisinden erişim aws örneğine çalışıyor

  1. Git https://www.whatismyip.com/ ne olursa olsun ip adresi put ssh

SSH'yi TÜM IP ADRESLERİNE TAMAMEN AÇMAK İSTİYORSANIZ görüntü açıklamasını buraya girin

TAM ERİŞİLEBİLİR GİRİŞLER BU ŞEKİLDE GÖRÜNÜR - TEMEL TAVSİYE EDİLİR görüntü açıklamasını buraya girin

ÜRETİMDE KULLANDIĞIM ŞEY BU görüntü açıklamasını buraya girin


2

Aşağıdakiler olası sorunlardır:

  • En olası olanı, Güvenlik Grubunun, IP'nize bağlantı noktası 22'de SSH erişimi sağlayacak şekilde doğru şekilde yapılandırılmamış olmasıdır. Güvenlik ayarındaki değişiklik, etkin olması için sunucunun yeniden başlatılmasını gerektirmez, ancak olması için birkaç dakika beklemesi gerekir. uygulanabilir.

  • Yerel güvenlik duvarı yapılandırması, sunucuya SSH erişimine izin vermiyor. (farklı bir internet bağlantısı deneyebilirsiniz, denemek için telefonunuz / dongle'ınız)

  • Sunucu düzgün şekilde başlatılmadı (bu durumda erişim kontrolleri Amazon konsolunda bile başarısız olacak), bu durumda sunucuyu durdurup başlatmanız gerekecektir.


Benim durumumda, üzerinde çalıştığım ağda bir güvenlik duvarı sorunuydu. Etrafında gezinmek için bir VPN kullanmak işe yaradı.
MDave

1

AWS belgelerindeki bu yardım sayfasına bakın:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TrfunctionInstancesConnecting.html#TrfunctionInstancesConnectionTimeout Muhtemelen çözümünüzü orada bulacaksınız. benim için bu kısım düzeltmeyi yaptı:

[EC2-VPC] Alt ağ için yönlendirme tablosunu kontrol edin. VPC'nin dışındaki tüm trafiği VPC için İnternet ağ geçidine gönderen bir yola ihtiyacınız vardır.

  • Https://console.aws.amazon.com/vpc/ adresinden Amazon VPC konsolunu açın .

  • Gezinti bölmesinde İnternet Ağ Geçitlerini seçin. VPC'nize bağlı bir İnternet ağ geçidi olduğunu doğrulayın. Aksi takdirde, İnternet Ağ Geçidi Oluştur'u seçin ve bir İnternet ağ geçidi oluşturmak için yönergeleri izleyin, İnternet ağ geçidini seçin ve ardından VPC'ye Ekle'yi seçin ve VPC'nize eklemek için yönergeleri izleyin.

  • Gezinti bölmesinde, Alt Ağlar'ı ve ardından alt ağınızı seçin.

  • Yönlendirme Tablosu sekmesinde, hedef olarak 0.0.0.0/0 olan bir yol ve hedef olarak VPC'niz için İnternet ağ geçidi olduğunu doğrulayın. Aksi takdirde, rota tablosunun Rotalar sekmesine gitmek için rota tablosunun kimliğini (rtb-xxxxxxxx) seçin, Düzenle'yi seçin, Başka bir rota ekle'yi seçin, Hedef'e 0.0.0.0/0 girin, Hedef'ten İnternet ağ geçidinizi seçin ve ardından Kaydet'i seçin.

Ancak yukarıdaki bağlantının kapsadığı tüm seçenekleri incelemenizi öneririm, orada sahip olduğunuz bir veya daha fazla sorunu bulabilirsiniz.


1

Sorunum - "IP'm" için 22 numaralı bağlantı noktasını açtım ve bunun neden olduğu internet bağlantısını ve IP adresi değişikliğini değiştirdim. Yani onu geri değiştirmek zorunda kaldı.


1

Kapalı Bina @ted.strausscevabını, seçebileceğiniz SSHve MyIPbunun yerine bir üçüncü şahıs sitesine giderek damla menüden.


1

Kuralları uyguladıktan sonra Ec2 Örneğini yeniden başlatmanız yeterli


1

Ufw'den ssh ve bağlantı noktası 22'ye izin verin, ardından etkinleştirin ve durum komutuyla kontrol edin

sudo ufw allow ssh
sudo ufw allow 22
sudo ufw enable
sudo ufw status

0

Bir olasılık daha. AWS güvenlik grupları yalnızca belirli gelen IP adresleriyle çalışacak şekilde ayarlanmıştır. Güvenlik grubunuz bu şekilde kurulmuşsa, sizin (veya hesap sahibi) ip adresinizi güvenlik grubuna eklemeniz gerekecektir. Bunu yapmak için AWS panonuzu açın, güvenlik gruplarını seçin, bir güvenlik grubu seçin ve gelen sekmesine tıklayın. Ardından ipinizi uygun şekilde ekleyin.


0

Aynı sorunu yaşadım ve çözüm, aktif güvenlik grubundaki gelen kurallar listesine herhangi bir yerden erişime izin vermekti. Gelen iletişim kutusunda, kaynak alanında herhangi bir yere bağlantı noktası aralığına 22 girin ve açılır menüden 'ssh'yi seçin.

Not: Bu, bu örneğin herhangi bir makineden ssh'lanabileceği anlamına geldiğinden önerilen çözüm olmayabilir, ancak yerel IP'mle çalışmasını sağlayamadım.


0

Şifresi olmayan halka açık Wifi kullanırken benzer bir sorun yaşadım. İnternet bağlantısını güvenli bir bağlantıya geçirmek sorunu çözdü.


0

SSH erişimi EC2 bulut sunucunuz için çalışmazsa şunları kontrol etmeniz gerekir:

  • Örneğiniz için Güvenlik Grubu , Gelen SSH erişimine izin veriyor (kontrol edin: kuralları görüntüle ).

VPC örneği kullanıyorsanız (örneğinize VPC Kimliğiniz ve Alt Ağ Kimliğiniz eklenmişse) şunları kontrol edin:

  1. VPC Kontrol Panelinde, VPC'nize eklenmiş olan kullanılmış Alt Ağ Kimliğini bulun.
  2. 0.0.0.0/0Hedef ve İnternet Ağ Geçidinizi Hedef olarak alması gereken ekli Rota tablosunu kontrol edin .

Linux'ta, ayrıca içinde rota bilgilerini kontrol edebilir sistem günlüğüne de Networking Örneğin, örneğin:

++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++
+--------+------+------------------------------+---------------+-------+-------------------+
| Device |  Up  |           Address            |      Mask     | Scope |     Hw-Address    |
+--------+------+------------------------------+---------------+-------+-------------------+
|   lo   | True |          127.0.0.1           |   255.0.0.0   |   .   |         .         |
|  eth0  | True |         172.30.2.226         | 255.255.255.0 |   .   | 0a:70:f3:2f:82:23 |
+--------+------+------------------------------+---------------+-------+-------------------+
++++++++++++++++++++++++++++Route IPv4 info+++++++++++++++++++++++++++++
+-------+-------------+------------+---------------+-----------+-------+
| Route | Destination |  Gateway   |    Genmask    | Interface | Flags |
+-------+-------------+------------+---------------+-----------+-------+
|   0   |   0.0.0.0   | 172.30.2.1 |    0.0.0.0    |    eth0   |   UG  |
|   1   |   10.0.3.0  |  0.0.0.0   | 255.255.255.0 |   lxcbr0  |   U   |
|   2   |  172.30.2.0 |  0.0.0.0   | 255.255.255.0 |    eth0   |   U   |
+-------+-------------+------------+---------------+-----------+-------+

nerede UGsize internet ağ geçidi gösteren bayraklar.

Daha fazla ayrıntı için, Amazon'da Örneğinize Bağlanma Sorunlarını Giderme belgelerine bakın.


0

Bir VPC alt ağındaki örnekler için İnternet'ten ssh erişimini etkinleştirmek için aşağıdakileri yapın:

  • VPC'nize bir İnternet ağ geçidi bağlayın.
  • Alt ağınızın yönlendirme tablosunun İnternet ağ geçidini gösterdiğinden emin olun.
  • Alt ağınızdaki örneklerin küresel olarak benzersiz bir IP adresine (genel IPv4 adresi, Esnek IP adresi veya IPv6 adresi) sahip olduğundan emin olun.
  • Ağ erişim kontrolünüzün (VPC Düzeyinde) ve güvenlik grubu kurallarınızın (ec2 düzeyinde) ilgili trafiğin örneğinize ve örneğinizden akışına izin verdiğinden emin olun. Ağınızın Genel IP adresinin her ikisi için de etkinleştirildiğinden emin olun. Varsayılan olarak, Ağ AcL, aksi açıkça yapılandırılmadıkça tüm gelen ve giden trafiğe izin verir.

0

Benim için bu, EC2 bulut sunucusunun kendisi değil, t2.micro linux EC2 bulut sunucusunda barındırılan apache sunucusuydu.

Bunu yaparak düzelttim:

sudo su

service httpd restart


0

Ben de aynı sorunu yaşadım ve güvenlik Gruplarına bir kural ekleyerek çözdüm

Gelen SSH 0.0.0.0/0

Veya sadece IP adresinizi ekleyebilirsiniz


0

Benim için her şeyi önyükleme biriminden silmiştim. Ve artık örneğe bağlanamıyordu.


0

Örnek üzerinde çalışıyordum ve iyiydi, ertesi gün örneğime SSH yapmaya çalıştığımda - Bağlantı zaman aşımı dedi.

Bu yazıdan geçmeye çalıştım ama hiçbir şey işe yaramadı. Ben de yaptım -

On Edit inbound ruleskaynağında sütun seçebilir MY IPve otomatik CIDR biçiminde Kamu IP adresini dolduracaktır ( XXX.XXX.XXX.XX/32).

@ Ted.strauss cevabını yerel IP vererek denedim ama benim durumumda yardımcı olmadı. Bu yüzden IP'mi seçtim ve işe yaradı.

Umarım bu birine yardımcı olur!


0

önce DNS'ye ping atın. Başarısız olursa, başlatma sihirbazında gelen / giden kurallarınızı yapılandırın. TÜM trafiği ve TÜM protokolü yapılandırın ve sadece varsayılan seçeneklerle kaydedin. Yerel sisteminizle tekrar ping atın ve sonra çalışmalıdır


0

Yeni bir örnek oluşturduysanız ve ona bağlanamıyorsanız, sorunu sonlandırıp yenisini oluşturarak çözebildim. Elbette bu yalnızca yeni bir örnekse ve üzerinde daha fazla çalışma yapmadıysanız işe yarar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.