Cần ssh từ một máy chủ Amazon EC2 sang một máy chủ khác


12

Về cơ bản tôi cần có khả năng kết nối từ một phiên bản EC2 với một phiên bản khác bằng SSH. Tôi chạy lệnh ssh -i path-to-pem-file ec2-user@dns-address-of-ec2-instance, và nó hết thời gian.

Tôi đã đặt nhóm bảo mật của mình để cho phép SSH gửi đến từ địa chỉ IP công cộng của phiên bản EC2 thứ hai của tôi, nhưng nó vẫn không hoạt động. Tôi biết rằng mọi thứ sẽ ổn vì khi tôi đặt lưu lượng truy cập SSH vào "cho phép từ mọi nơi" tôi có thể kết nối mà không gặp vấn đề gì. Ngoài ra tôi có thể kết nối với phiên bản EC2 từ máy gia đình (tôi đã thêm địa chỉ IP của mình vào nhóm bảo mật) mà không gặp vấn đề gì.

Rõ ràng là tôi không thể để lưu lượng truy cập trong nước của mình mở sang "cho phép từ bất cứ đâu", nhưng dường như tôi không thể kết nối khi tôi giới hạn chỉ ở địa chỉ IP của phiên bản EC2 thứ hai. Có lẽ địa chỉ IP công cộng không phải là thứ tôi nên đưa vào nhóm bảo mật?


Tôi dường như không thể ping nó; nó chỉ có thời gian ra Đây là kết quả củassh -vv -i path-to-pem-file ec2-user@dns-address-of-ec2-instance

OpenSSH_6.2p2, OpenSSL 1.0.1h-fips 5 Jun 2014
debug1: Reading configuration data /home/ec2-user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to dns-address [IP Address different from public ip] port 22.
debug1: connect to address [IP Address different from public ip] port 22: Connection timed out
ssh: connect to host dns-address port 22: Connection timed out

Câu trả lời:


13

Các phiên bản EC2 sử dụng một 10.X.X.Xđịa chỉ nội bộ (hoặc địa chỉ khác nếu sử dụng VPC) và lưu lượng truy cập đến địa chỉ IP 'công khai' của chúng chỉ đơn giản được định tuyến lại đến địa chỉ IP nội bộ. Các phiên bản EC2 cũng sử dụng một máy chủ DNS khác không thể truy cập công khai. Khi bạn giải quyết tên máy chủ của phiên bản EC2 khác, vì bạn đang ở trong mạng AWS , nó sẽ cung cấp cho bạn 10.X.X.Xđịa chỉ của cá thể thay vì địa chỉ IP công cộng. Điều này ngăn chặn lưu lượng truy cập phải đi ra internet và quay trở lại, làm cho nó nhanh hơn.

Ngay cả khi bạn có thể đưa danh sách trắng theo địa chỉ IP, đây không phải là ý tưởng hay vì ở chế độ cổ điển EC2, cả địa chỉ nội bộ và công khai của bạn đều có thể thay đổi. Giải pháp thích hợp là đưa danh sách trắng theo nhóm bảo mật. Về cơ bản, bạn thêm một quy tắc vào nhóm bảo mật đích nói rằng cho phép cổng 22 từ một nhóm bảo mật nguồn gốc cụ thể.

Nếu cả hai phiên bản nằm trong cùng một tài khoản, bạn chỉ cần cho phép sg-1234abcd( sg-1234abcdnhóm bảo mật gốc là thành viên của). Nếu chúng ở trong các tài khoản khác nhau, hãy bao gồm số tài khoản, chẳng hạn như 111122223333/sg-1234abcd.
Xem tài liệu để biết thêm thông tin.


Hoàn hảo đó chính xác là những gì tôi đang tìm kiếm! Hoạt động mà không gặp trở ngại!
Pompey

Khi nói về các nhóm bảo mật của các tài khoản khác nhau, bạn cần làm cho VPC nhìn trộm để bạn có thể tham chiếu chúng. Xem tại đây: docs.aws.amazon.com/AmazonVPC/latest/PanguGuide/iêu
Boris Strandjev

Chỉ để hoàn thành, tôi muốn thêm rằng AWS tính phí cho bạn lưu lượng truy cập đến VPC từ internet, nhưng lưu lượng bên trong VPC là miễn phí, vì vậy không đi qua internet không chỉ nhanh hơn mà còn rẻ hơn.
Blueriver
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.