Các lý do có thể gây ra thời gian chờ khi cố gắng truy cập phiên bản EC2


102

Tôi không thể SSH vào trường hợp của mình - Đã hết thời gian thao tác. Lý do có thể là gì và tôi có thể làm gì để giải quyết? Việc khởi động lại thường mất nhiều thời gian để có hiệu lực và có thể chỉ khiến mọi thứ tồi tệ nhất

CẬP NHẬT: Đó không phải là về quyền - tôi có thể đăng nhập bình thường. Tôi nghi ngờ có thể do vấn đề về bộ nhớ


3
Bạn nên thử serverfault.com vì đây không thực sự là một câu hỏi về lập trình.
rwilliams

Bức tường lửa? SSH đang nghe trên cổng đó?
OMG Ponies

1
Sự cố vẫn tiếp diễn nếu bạn khởi chạy một phiên bản khác? (Nó cũng có thể hữu ích để biết thêm về thiết lập của bạn.) Tôi đã cập nhật câu trả lời của mình.
Jonik

ping DNS trước. Nếu không thành công, hãy định cấu hình các quy tắc đến / đi của bạn trong trình hướng dẫn khởi chạy. định cấu hình TẤT CẢ lưu lượng và TẤT CẢ giao thức và chỉ lưu với các tùy chọn mặc định. Ping lại với hệ thống cục bộ của bạn và sau đó sẽ hoạt động.
Maiden

Câu trả lời:


67

Bạn đã đặt một nhóm bảo mật thích hợp cho trường hợp này chưa? Tức là một cho phép truy cập từ mạng của bạn đến cổng 22 trên ví dụ. (Theo mặc định, tất cả lưu lượng truy cập đều không được phép.)

Cập nhật: Ok, không phải là vấn đề nhóm bảo mật. Nhưng vấn đề vẫn tiếp diễn nếu bạn khởi chạy một phiên bản khác từ cùng một AMI và cố gắng truy cập nó? Có thể trường hợp EC2 cụ thể này chỉ ngẫu nhiên thất bại bằng cách nào đó - điều đó xảy ra chỉ là vấn đề thời gian. (Đề xuất đọc: Kiến trúc cho đám mây: Các phương pháp hay nhất (PDF), một bài báo của Jinesh Varia, một nhà truyền bá dịch vụ web tại Amazon. Đặc biệt xem phần có tiêu đề "Thiết kế để thất bại và không có gì sẽ thất bại".)


Đây cũng là điều tương tự trên Câu hỏi thường gặp về EC2: developer.amazonwebservices.com/connect/… (Ngoài ra ec2-authorize, bạn có thể sử dụng tiện ích mở rộng Elasticfox Firefox để dễ dàng định cấu hình các nhóm.)
Jonik

1
Chúa ơi ... mở cổng SSH trong nhóm là quá cơ bản, tôi không thể tin rằng nó không có ở đây: alestic.com/2009/08/ec2-connectivity . Cảm ơn đã chỉ ra điều đó.
mtyson

Ồ, tôi hoàn toàn quên mất nhóm bảo mật! Cảm ơn!
Antonio Beno

91

Tôi đã gặp vấn đề tương tự và giải pháp cuối cùng là thêm IP máy cục bộ của tôi vào danh sách các quy tắc gửi đến trong nhóm bảo mật đang hoạt động. Trong hộp thoại đến bên dưới, nhập 22 vào dải cổng, IP / 32 cục bộ của bạn vào trường nguồn và để lại 'quy tắc tcp tùy chỉnh' trong menu thả xuống.

nhập mô tả hình ảnh ở đây


6
Sau khi bạn nhấn nút 'thêm quy tắc', bạn cũng cần nhấn vào 'áp dụng thay đổi quy tắc' để nó có hiệu lực. Đừng quên điều này. Nó làm tôi bối rối một vài lần.
ted.strauss

Cảm ơn rất nhiều vì điều này!
Hego555

Câu trả lời hoàn hảo! Tôi không sợ bị tấn công: D
softvar

2
điều này đã làm việc cho tôi, cảm ơn !! Vì một số lý do .. địa chỉ ip của tôi đã thay đổi, và đột nhiên tôi không thể truy cập vào phiên bản ec2 của mình. Tôi vừa thêm một quy tắc và thay vì đặt địa chỉ ip "tùy chỉnh", tôi chỉ chọn 'IP của tôi' và wala ... Tôi đã có thể ssh vào!
rikkitikkitumbo

Câu trả lời tốt! Tôi thấy cách khắc phục sự cố này từ AWS cũng rất hữu ích và nó chứa điểm được đề xuất ở đây ở trên.
J0ANMM

28

Phá hủy và tạo mới

Tôi có một vùng khả dụng nơi tôi có thể kết nối và một vùng khác mà tôi không thể. Sau một vài giờ, tôi đã rất thất vọng nên đã xóa mọi thứ trong vùng khả dụng đó.

Xây dựng lại mọi thứ, tôi phải đảm bảo tạo ra MỌI THỨ. Cái này bao gồm:

  • Tạo VPC
    • CIDR: 10.0.0.0/24
  • Tạo cổng Internet
  • Đính kèm Internet Gateway vào VPC
  • Tạo bảng định tuyến
  • Thêm tuyến đường vào bảng định tuyến
    • Destination: 0.0.0.0/0
    • Target: <Internet Gateway from earlier>
  • tạo Subnet
    • CIDR: 10.0.0.0/24
    • Routing Table: <Routing Table from earlier

Tôi đã phải mất rất nhiều lần dò dẫm để có được tất cả những điều này. Tôi đã sắp xếp các bước theo cách mà tôi nghĩ có thể hiệu quả nhất, nhưng bạn có thể phải điều chỉnh chúng để có được một mặt hàng có sẵn cho lần tiếp theo.

Gợi ý

Tôi không đề nghị bạn sử dụng hạt nhân nhiệt điện như tôi đã làm. Tôi cung cấp tất cả thông tin này để bạn có thể kiểm tra các liên kết này để đảm bảo rằng của bạn là phù hợp.


6
điều này thực sự đã giúp tôi ra ngoài! Tôi đã gặp trường hợp bảng định tuyến của tôi không được trỏ đến cổng internet và đó là vấn đề duy nhất.
EdgeCaseBerg

Thành thật mà nói, tôi ghi lại những điều này trên SO và trong github / gists bởi vì tôi biết tôi sẽ tự đá mình khi cần làm lại sau 2 tháng nữa. Tôi hy vọng rằng nó cũng giúp ích cho những người khác. Nhưng cuối cùng, tôi chỉ là một thảm họa ích kỷ. Cảm ơn bạn đã dành thời gian nhận xét, @EdgeCaseBerg.
Bruno Bronosky

2
Cảm ơn TON @BrunoBronosky. Chính xác, nếu điều đó là "cổng Internet" là như vậy, thì tại sao tài liệu AWS mặc định không đề cập đến điều đó? :(
Anand

1
@BrunoBronosky cảm ơn! Đây chính xác là những gì đã ngăn tôi kết nối với phiên bản. Tôi sẽ lưu các bước này cho tương lai của tôi.
saiyancoder

21

Câu trả lời này dành cho những người ngớ ngẩn (như tôi). DNS công cộng của EC2 của bạn có thể (sẽ) thay đổi khi nó được khởi động lại. Nếu bạn không nhận ra điều này và cố gắng SSH vào DNS công cộng cũ của mình, kết nối sẽ ngừng hoạt động và hết thời gian. Điều này có thể khiến bạn cho rằng có điều gì đó không ổn với EC2 hoặc nhóm bảo mật của bạn hoặc ... Không, chỉ cần SSH vào DNS mới. Và cập nhật ~/.ssh/configtệp của bạn nếu bạn phải!


Một giờ khắc phục sự cố thời gian chờ của tôi và đây là giải pháp. Cảm ơn :)
Eric D. Brown

2
Cảm ơn rất nhiều @dslosky bạn đã cứu mạng tôi. :)
A_01

13

Để kết nối sử dụng ssh như vậy:

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

Trong trường hợp keyname.pemlà tên của khóa riêng của bạn, usernamelà đúng tên người dùng để phân phối os của bạn, và xxx.xx.xxx.xxlà địa chỉ ip công cộng.

Khi hết thời gian hoặc không thành công, hãy kiểm tra những điều sau:

Nhóm bảo mật

Đảm bảo có quy tắc gửi đến cho cổng tcp 22 và tất cả các ips hoặc ip của bạn. Bạn có thể tìm thấy nhóm bảo mật thông qua menu ec2, trong các tùy chọn phiên bản.

Bảng định tuyến

Đối với mạng con mới trong vpc, bạn cần phải thay đổi bảng định tuyến trỏ đến mục tiêu cổng internet 0.0.0.0/0 . Khi bạn tạo mạng con trong vpc của mình, theo mặc định, nó sẽ gán bảng định tuyến mặc định, bảng này có thể không chấp nhận lưu lượng đến từ internet. Bạn có thể chỉnh sửa các tùy chọn bảng định tuyến trong menu vpc và sau đó là các mạng con.

IP đàn hồi

Đối với một phiên bản trong vpc, bạn cần chỉ định một địa chỉ ip đàn hồi công khai và liên kết nó với phiên bản đó. Không thể truy cập địa chỉ ip riêng tư từ bên ngoài. Bạn có thể lấy một ip đàn hồi trong menu ec2 (không phải menu phiên bản).

tên tài khoản

Đảm bảo rằng bạn đang sử dụng đúng tên người dùng . Nó phải là một trong ec2-userhoặc roothoặc ubuntu. Hãy thử tất cả chúng nếu cần thiết.

Khóa cá nhân

Đảm bảo rằng bạn đang sử dụng đúng khóa riêng tư ( khóa bạn tải xuống hoặc chọn khi khởi chạy phiên bản). Có vẻ rõ ràng, nhưng sao chép dán đã khiến tôi phải nhận hai lần.


1
Cảm ơn cho điều này, tôi luôn luôn quên thêm 0.0.0.0/0 với mục tiêu cổng internet khi tôi tạo một VPC mới
Chathushka

7

Bạn đã nhìn vào đầu ra bảng điều khiển từ phiên bản chưa? Bạn có thể thực hiện việc này thông qua bảng điều khiển AWS (Phiên bản -> Nhấp chuột phải vào phiên bản -> Nhận Nhật ký hệ thống). Tôi đã gặp trường hợp các dịch vụ mạng trên phiên bản EC2 không thể khởi động chính xác, dẫn đến kết nối SSH hết thời gian; khởi động lại phiên bản thường cố định những thứ.


3

nhập mô tả hình ảnh ở đây

SAU 2 GIỜ TÔI TÌM HIỂU ĐIỀU NÀY

Lưu ý rằng ip ssh 120.138.105.251/32

  • KHÔNG PHẢI LÀ ĐỊA CHỈ IP phiên bản

  • Nó không phải là ip cục bộ của bạn 127.0.0.1

  • Nó không phải là ip cục bộ của bạn localhost

NHƯNG NHƯNG NHƯNG

của bạn địa chỉ IP công cộng của bạn máy tính cá nhân mà từ đó bạn cố gắng để truy cập AWS dụ

  1. Truy cập https://www.whatismyip.com/ bất kỳ địa chỉ ip nào được đặt trong ssh

NẾU BẠN MUỐN MỞ HOÀN TOÀN SSH ĐẾN TẤT CẢ CÁC ĐỊA CHỈ IP nhập mô tả hình ảnh ở đây

ĐÂY LÀ CÁCH NHÌN CÁC DOANH NGHIỆP CÓ THỂ TRUY CẬP HOÀN TOÀN - THU NHẬP CƠ BẢN nhập mô tả hình ảnh ở đây

ĐÂY LÀ NHỮNG GÌ TÔI ĐANG SỬ DỤNG TRONG SẢN XUẤT nhập mô tả hình ảnh ở đây


2

Sau đây là các vấn đề có thể xảy ra:

  • Một trong những khả năng cao nhất là Nhóm bảo mật không được định cấu hình đúng cách để cung cấp quyền truy cập SSH trên cổng 22 cho ip của bạn Thay đổi cài đặt bảo mật không yêu cầu khởi động lại máy chủ để nó có hiệu lực nhưng cần đợi vài phút để nó được áp dụng.

  • Cấu hình tường lửa cục bộ không cho phép truy cập SSH vào máy chủ. (bạn có thể thử kết nối internet khác, điện thoại / dongle của bạn để thử)

  • Máy chủ không được khởi động đúng cách (sau đó kiểm tra quyền truy cập sẽ không thành công ngay cả trên bảng điều khiển amazon), trong trường hợp đó, bạn cần phải dừng và khởi động máy chủ.


Trong trường hợp của tôi, đó là sự cố tường lửa trên mạng mà tôi đang làm việc. Việc sử dụng VPN để đi vòng quanh đã hoạt động.
MDave

1

Xem trang trợ giúp này trên tài liệu AWS:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout Có thể bạn sẽ tìm thấy giải pháp của mình ở đó. đối với tôi phần này đã sửa chữa:

[EC2-VPC] Kiểm tra bảng định tuyến cho mạng con. Bạn cần một lộ trình gửi tất cả lưu lượng được định sẵn bên ngoài VPC đến cổng Internet cho VPC.

  • Mở bảng điều khiển Amazon VPC tại https://console.aws.amazon.com/vpc/ .

  • Trong ngăn dẫn hướng, chọn Cổng Internet. Xác minh rằng có cổng Internet được gắn với VPC của bạn. Nếu không, hãy chọn Tạo cổng Internet và làm theo hướng dẫn để tạo cổng Internet, chọn cổng Internet, sau đó chọn Đính kèm vào VPC và làm theo hướng dẫn để đính kèm cổng đó vào VPC của bạn.

  • Trong ngăn dẫn hướng, chọn Mạng con, sau đó chọn mạng con của bạn.

  • Trên tab Bảng Lộ trình, hãy xác minh rằng có một lộ trình với 0.0.0.0/0 làm đích và cổng Internet cho VPC của bạn là đích. Nếu không, hãy chọn ID của bảng tuyến đường (rtb-xxxxxxxx) để điều hướng đến tab Tuyến đường cho bảng tuyến đường, chọn Chỉnh sửa, Thêm tuyến đường khác, nhập 0.0.0.0/0 vào Đích, chọn cổng Internet của bạn từ Mục tiêu, sau đó chọn Lưu.

Nhưng tôi khuyên bạn nên kiểm tra tất cả các tùy chọn mà liên kết ở trên đề cập, bạn có thể tìm thấy một hoặc nhiều vấn đề mà bạn gặp phải.


1

Sự cố của tôi - Tôi đã mở cổng 22 cho "My IP" và đã thay đổi kết nối internet và gây ra thay đổi địa chỉ IP. Vì vậy, đã phải thay đổi nó trở lại.


1

Xây dựng @ted.strausscâu trả lời, bạn có thể chọn SSHMyIPtừ menu thả xuống thay vì điều hướng đến trang web của bên thứ ba.


1

Chỉ cần khởi động lại Phiên bản Ec2 sau khi bạn áp dụng Quy tắc


1

Cho phép ssh và cổng 22 từ ufw, sau đó bật nó lên và kiểm tra bằng lệnh trạng thái

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

0

Một khả năng nữa. Nhóm bảo mật AWS được thiết lập để chỉ hoạt động với các địa chỉ ip đến cụ thể. Nếu nhóm bảo mật của bạn được thiết lập theo cách này, bạn (hoặc chủ tài khoản) sẽ cần thêm địa chỉ ip của mình vào nhóm bảo mật. Thực hiện thao tác này, hãy mở trang tổng quan AWS của bạn, chọn nhóm bảo mật, chọn nhóm bảo mật và nhấp vào tab gửi đến. Sau đó thêm ip của bạn nếu thích hợp.


0

Tôi gặp vấn đề tương tự và giải pháp là cho phép truy cập từ bất kỳ đâu vào danh sách các quy tắc gửi đến trong nhóm bảo mật đang hoạt động. Trong hộp thoại đến, nhập 22 vào phạm vi cổng, bất kỳ đâu trong trường nguồn và chọn 'ssh' trong menu thả xuống.

Tái bút: Đây có thể không phải là giải pháp được khuyến nghị vì nó có nghĩa là phiên bản này có thể được xử lý từ bất kỳ máy nào, nhưng tôi không thể làm cho nó hoạt động với IP cục bộ của mình.


0

Tôi đã gặp sự cố tương tự, khi tôi đang sử dụng Wifi công cộng, không có mật khẩu. Chuyển kết nối internet sang kết nối an toàn đã giải quyết được vấn đề.


0

Nếu quyền truy cập SSH không hoạt động cho phiên bản EC2 của bạn, bạn cần kiểm tra:

  • Nhóm an ninh ví dụ của bạn được cho phép Inbound truy cập SSH (kiểm tra: xem quy tắc ).

Nếu bạn đang sử dụng phiên bản VPC (bạn đã gắn ID VPCID mạng con vào phiên bản của mình), hãy kiểm tra:

  1. Trong Bảng điều khiển VPC, tìm ID mạng con đã sử dụng được đính kèm với VPC của bạn.
  2. Kiểm tra bảng Lộ trình đính kèm phải có 0.0.0.0/0là Đích và Cổng Internet của bạn là Mục tiêu.

Trên Linux, bạn cũng có thể kiểm tra thông tin tuyến đường trong Đăng nhập hệ thống trong Mạng của phiên bản, ví dụ:

++++++++++++++++++++++++++++++++++++++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   |
+-------+-------------+------------+---------------+-----------+-------+

nơi gắn UGcờ hiển thị cổng internet của bạn.

Để biết thêm chi tiết, hãy kiểm tra: Khắc phục sự cố khi kết nối với phiên bản của bạn tại Amazon docs.


0

Để bật truy cập ssh từ Internet cho các phiên bản trong mạng con VPC, hãy làm như sau:

  • Đính kèm cổng Internet vào VPC của bạn.
  • Đảm bảo rằng bảng định tuyến của mạng con của bạn trỏ đến cổng Internet.
  • Đảm bảo rằng các phiên bản trong mạng con của bạn có địa chỉ IP duy nhất trên toàn cầu (địa chỉ IPv4 công khai, địa chỉ IP đàn hồi hoặc địa chỉ IPv6).
  • Đảm bảo rằng kiểm soát truy cập mạng của bạn (ở Cấp VPC) và các quy tắc nhóm bảo mật (ở cấp ec2) cho phép lưu lượng truy cập có liên quan đến và đi từ phiên bản của bạn. Đảm bảo mạng của bạn Địa chỉ IP công cộng được bật cho cả hai. Theo mặc định, Network AcL cho phép tất cả lưu lượng vào và ra ngoại trừ được định cấu hình rõ ràng theo cách khác

0

Đối với tôi, đó là máy chủ apache được lưu trữ trên phiên bản EC2 t2.micro linux, không phải bản thân phiên bản EC2.

Tôi đã sửa nó bằng cách:

sudo su

service httpd restart


0

Tôi đã gặp vấn đề tương tự và tôi đã giải quyết nó bằng cách thêm quy tắc vào Nhóm bảo mật

SSH đến 0.0.0.0/0

Hoặc bạn chỉ có thể thêm địa chỉ IP của mình


0

Đối với tôi, đó là tôi đã xóa mọi thứ khỏi ổ đĩa khởi động. Và không thể kết nối với phiên bản nữa.


0

Tôi đang làm việc với phiên bản và nó ổn, ngay ngày hôm sau khi tôi cố gắng SSH vào phiên bản của mình, nó cho biết - Hết thời gian kết nối.

Tôi đã cố gắng xem qua bài đăng này nhưng không có gì hiệu quả. Tôi cũng vậy -

Trên Edit inbound rulescột nguồn, hãy chọn MY IPvà nó sẽ tự động điền địa chỉ IP Công cộng của bạn ở định dạng CIDR ( XXX.XXX.XXX.XX/32).

Tôi đã thử với câu trả lời @ ted.strauss bằng cách cung cấp IP cục bộ nhưng nó không giúp được gì trong trường hợp của tôi. Vì vậy, tôi chọn My IP và nó đã hoạt động.

Hy vọng điều này sẽ giúp ai đó!


0

ping DNS trước. Nếu không thành công, hãy định cấu hình các quy tắc đến / đi của bạn trong trình hướng dẫn khởi chạy. định cấu hình TẤT CẢ lưu lượng và TẤT CẢ giao thức và chỉ lưu với các tùy chọn mặc định. Ping lại với hệ thống cục bộ của bạn và sau đó sẽ hoạt động


0

Nếu bạn vừa tạo một phiên bản mới và không thể kết nối với nó, tôi có thể giải quyết vấn đề bằng cách chấm dứt phiên bản đó và tạo một phiên bản mới. Tất nhiên điều này sẽ chỉ hoạt động nếu nó là một phiên bản mới và bạn chưa thực hiện thêm bất kỳ công việc nào trên nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.