Có thể các bạn đã biết, chúng ta có hai cách để truy cập vào một instance EC2:
- Cách thứ nhất là kết nối bằng Amazone EC2 console. Cách này yêu cầu bạn phải có địa chỉ IPv4 công khai.
- Cách thứ hai là kết nối bằng SSH client. Nếu instance không có địa chỉ IP công khai, bạn có thể kết nối với instance qua mạng riêng bằng máy khách SSH. Ví dụ: bạn có thể kết nối từ trong cùng một VPC hoặc thông qua kết nối VPN, cổng chuyển tiếp hoặc AWS Direct Connect.
1. Kết nối bằng bảng điều khiển Amazon EC2
Bạn có thể kết nối với một instance bằng bảng điều khiển Amazon EC2 bằng cách chọn instance từ bảng điều khiển và chọn kết nối bằng Kết nối instance EC2. Instance Connect xử lý các quyền và cung cấp kết nối thành công.
Để kết nối bằng bảng điều khiển Amazon EC2, instance phải có địa chỉ IPv4 công khai.
Để kết nối với instance của bạn bằng ứng dụng khách dựa trên trình duyệt từ bảng điều khiển Amazon EC2
- Mở bảng điều khiển Amazon EC2 tại https://console.aws.amazon.com/ec2/.
- Trong ngăn điều hướng, chọn Instances.
- Chọn instance và chọn Kết nối .
- Chọn Kết nối instance EC2 .
- Xác minh tên người dùng và chọn Kết nối để mở cửa sổ đầu cuối.
2. Kết nối bằng khóa của riêng bạn và ứng dụng khách SSH
Bạn có thể sử dụng khóa SSH của riêng mình và kết nối với instance của mình từ ứng dụng khách SSH mà bạn chọn trong khi sử dụng API kết nối instance EC2. Điều này cho phép bạn hưởng lợi từ khả năng Instance Connect để đẩy khóa chung vào instance. Phương thức kết nối này hoạt động đối với các instance có địa chỉ IP công khai và riêng tư.
Yêu cầu
Yêu cầu đối với cặp khóa
- Các loại được hỗ trợ: RSA (OpenSSH và SSH2) và ED25519
- Độ dài được hỗ trợ: 2048 và 4096
- Để biết thêm thông tin, hãy xem Tạo cặp khóa bằng công cụ của bên thứ ba và nhập khóa chung vào Amazon EC2.
Khi kết nối với một instance chỉ có địa chỉ IP riêng, máy tính cục bộ mà bạn đang bắt đầu phiên SSH phải có kết nối với điểm cuối dịch vụ EC2 Instance Connect (để đẩy khóa công khai SSH của bạn tới phiên bản) cũng như kết nối mạng với địa chỉ IP riêng của cá thể để thiết lập phiên SSH. Có thể truy cập điểm cuối dịch vụ EC2 Instance Connect qua internet hoặc qua giao diện ảo công cộng AWS Direct Connect. Để kết nối với địa chỉ IP riêng của instance, bạn có thể tận dụng các dịch vụ như AWS Direct Connect, AWS Site-to-Site VPN, hoặc ngang hàng VPC .
Để kết nối với phiên bản của bạn bằng khóa của riêng bạn và bất kỳ ứng dụng khách SSH nào
1. (Tùy chọn) Tạo khóa riêng và khóa chung SSH mới
Bạn có thể tạo khóa riêng và khóa chung SSH mới my_key và my_key.pub, bằng cách sử dụng lệnh sau:
$ ssh-keygen -t rsa -f my_key
2. Đẩy khóa công khai SSH của bạn vào phiên bản
Sử dụng lệnh send-ssh-public-key
để đẩy khóa công khai SSH của bạn vào instance. Nếu bạn khởi chạy instance của mình bằng Amazon Linux 2, tên người dùng mặc định cho AMI là ec2-user
. Nếu bạn khởi chạy instance của mình bằng Ubuntu, tên người dùng mặc định cho AMI là ubuntu.
Ví dụ sau đẩy khóa công khai đến instance đã chỉ định trong Avaibility Zone đã chỉ định, để xác thực ec2-user.
$ aws ec2-instance-connect send-ssh-public-key \ --region us-west-2 \ --availability-zone us-west-2b \ --instance-id i-001234a4bf70dec41EXAMPLE \ --instance-os-user ec2-user \ --ssh-public-key file://my_key.pub
3. Kết nối với phiên bản bằng khóa riêng của bạn
Sử dụng lệnh ssh để kết nối với instance bằng khóa riêng trước khi khóa chung bị xóa khỏi siêu dữ liệu của instance (bạn có 60 giây trước khi khóa này bị xóa). Chỉ định khóa riêng tương ứng với khóa chung, tên người dùng mặc định cho AMI mà bạn đã sử dụng để khởi chạy instance của mình và tên DNS công khai của instance (nếu kết nối qua mạng riêng, hãy chỉ định tên DNS hoặc địa chỉ IP riêng). Thêm IdentitiesOnly=yestùy chọn để đảm bảo rằng chỉ các tệp trong cấu hình ssh và khóa được chỉ định mới được sử dụng cho kết nối.
$ ssh -o "IdentitiesOnly=yes" -i my_key ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
khắc phục sự cố
Nếu bạn gặp lỗi khi cố gắng kết nối với instance của mình, hãy xem phần sau:
Khắc phục sự cố kết nối với instance của bạn
Làm cách nào để khắc phục sự cố khi kết nối với instance EC2 của tôi bằng Kết nối instance EC2?
Tài liệu tham khảo
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html