Trong bối cảnh điện toán đám mây ngày càng phát triển, nhu cầu kết nối EC2 Instance với các loại máy chủ khác, chẳng hạn như VPS Windows, trở nên ngày càng phổ biến và thiết thực. Tiếp nối bài viết trước của ZingServer về cách tạo EC2 Instance và kết nối đến VPS sử dụng SSH, bài viết này sẽ hướng dẫn bạn chi tiết cách sử dụng giao thức SSH và phần mềm PuTTY để thiết lập một kết nối an toàn từ EC2 Instance đến VPS Windows.
Làm quen với PuTTY
PuTTY là một phần mềm mã nguồn mở phổ biến, được sử dụng để kết nối từ xa với các máy chủ thông qua các giao thức bảo mật như SSH (Secure Shell), Telnet, rlogin và SCP. Phần mềm này được phát triển lần đầu tiên bởi Simon Tatham vào năm 1999 và nhanh chóng trở thành công cụ không thể thiếu cho các quản trị viên hệ thống, lập trình viên và người dùng cần truy cập từ xa vào các hệ thống máy tính khác.
Một số tính năng nổi bật của PuTTY:
- Kết nối bảo mật: Sử dụng giao thức SSH để bảo vệ dữ liệu truyền tải giữa máy tính và máy chủ.
- Hỗ trợ đa giao thức: Bao gồm SSH, Telnet, SCP, rlogin, giúp kết nối với nhiều loại hệ thống khác nhau.
- Không yêu cầu cài đặt: Có thể chạy trực tiếp từ USB hoặc ổ đĩa di động mà không cần cài đặt.
- Tùy chỉnh linh hoạt: Cho phép người dùng tùy chỉnh giao diện và các tham số kết nối.
PuTTY hỗ trợ nhiều nền tảng hệ điều hành như Windows, Linux và macOS, và thường được sử dụng trong quản trị máy chủ từ xa, truyền tải tệp an toàn, và bảo mật mạng.
Cách kết nối EC2 Instance đến VPS Windows sử dụng PuTTY
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn đã chuẩn bị những điều sau:
- EC2 Instance đang hoạt động: Bạn cần có một EC2 Instance đang chạy trên AWS. Nếu chưa có, bạn có thể tạo một instance mới trên trang web chính thức của AWS theo hướng dẫn sau.
- Chuyển đổi File Private Key sang định dạng PPK:Bạn cần có file private key (
.ppk
) để xác thực với EC2 Instance bằng PuTTY. Nếu bạn đã tạo private key ở định dạng.pem
, hãy sử dụng PuTTYgen để chuyển đổi nó sang định dạng.ppk
. - Phần mềm PuTTY đã được cài đặt: Đảm bảo PuTTY đã được cài đặt trên Windows của bạn. Bạn có thể tải xuống từ trang web chính thức của PuTTY theo hướng dẫn sau.
Chuyển đổi file private key
PuTTY không hỗ trợ trực tiếp định dạng khóa SSH là PEM. Do đó, bạn cần sử dụng công cụ PuTTYgen, đi kèm với PuTTY, để chuyển đổi file private key .pem
(thường được AWS EC2 sử dụng) sang định dạng .ppk
mà PuTTY có thể đọc được.
Để chuyển đổi private key của bạn từ định dạng PEM sang PPK:
Bước 1: Mở PuTTYgen
- Từ menu Start của Windows, tìm đến thư mục PuTTY và chọn PuTTYgen.
Bước 2: Chọn loại khóa cần tạo
- Trong cửa sổ PuTTYgen, dưới mục Parameters, tìm đến phần Type of key to generate và chọn RSA. Nếu phiên bản PuTTYgen của bạn không có tùy chọn này, hãy chọn SSH-2 RSA.
Bước 3: Tải file private key PEM
- Dưới mục Actions, nhấp vào nút Load.
- Theo mặc định, PuTTYgen chỉ hiển thị các file có đuôi
.ppk
. Để thấy file.pem
của bạn, hãy chọn tùy chọn All Files (*.*) trong hộp thoại mở file.
- Chọn file private key
.pem
của EC2 Instance mà bạn đã lưu và nhấp vào nút Open. - PuTTYgen hiển thị thông báo rằng file
.pem
đã được nhập thành công. Nhấp vào nút OK.
Bước 4: Lưu private key PPK
- (Tùy chọn) Trong cửa sổ PuTTYgen, dưới mục Key, bạn có thể nhập một key passphrase vào ô Key passphrase và Confirm passphrase để bảo vệ thêm cho private key của mình.
Lưu ý: Việc sử dụng passphrase sẽ tăng cường bảo mật. Ngay cả khi ai đó có được file private key của bạn, họ vẫn cần passphrase để sử dụng nó. Tuy nhiên, điều này có thể gây khó khăn cho việc tự động hóa các tác vụ.
- Để lưu khóa ở định dạng PPK, nhấp vào nút Save private key.
- Nếu bạn không đặt passphrase, PuTTYgen có thể hiển thị cảnh báo. Nhấp Yes để tiếp tục lưu khóa mà không có passphrase.
- Chọn vị trí bạn muốn lưu file private key và đặt tên cho nó (ví dụ: “ec2-key-pair”). PuTTY sẽ tự động thêm phần mở rộng tệp
.ppk
. Nhấp vào nút Save
Private key của bạn hiện đã ở định dạng .ppk
và sẵn sàng để sử dụng với PuTTY để kết nối đến EC2 Instance.
Các bước kết nối EC2 Instance đến Windows sử dụng PuTTY
Bước 1: Mở PuTTY
- Từ menu Start của Windows, tìm đến thư mục PuTTY và chọn Open.
Bước 2: Cấu hình Session
- Trong cửa sổ PuTTY Configuration, ở ngăn Category bên trái, chọn Session và điền vào các trường sau:
- Trong trường Host Name (or IP address), bạn có thể sử dụng một trong hai cách sau:
- (DNS công khai) Để kết nối bằng tên DNS công khai của instance, hãy nhập theo định dạng:
instance-user-name@your-instance-public-dns-name
- Thay thế
instance-user-name
bằng tên người dùng của instance. Tên người dùng mặc định tùy thuộc vào AMI mà bạn đã chọn:- Amazon Linux 2 hoặc Amazon Linux:
ec2-user
- CentOS:
ec2-user
hoặccentos
- Debian:
admin
- Fedora:
ec2-user
hoặcfedora
- RHEL:
ec2-user
hoặcroot
- SUSE:
ec2-user
hoặcroot
- Ubuntu:
ubuntu
- Oracle:
ec2-user
- Bitnami:
bitnami
- Amazon Linux 2 hoặc Amazon Linux:
- Thay thế
your-instance-public-dns-name
bằng tên DNS công khai của EC2 Instance. Bạn có thể tìm thấy tên DNS này trong trang quản lý EC2 trên AWS Management Console.
- Thay thế
- (IPv6) Ngoài ra, nếu instance của bạn có địa chỉ IPv6, để kết nối bằng địa chỉ IPv6 của instance, hãy nhập theo định dạng:
instance-user-name@your-instance-IPv6-address
- Thay thế
your-instance-IPv6-address
bằng địa chỉ IPv6 của EC2 Instance. Bạn có thể tìm thấy địa chỉ này trong trang quản lý EC2 trên AWS Management Console.
- Thay thế
- (DNS công khai) Để kết nối bằng tên DNS công khai của instance, hãy nhập theo định dạng:
- Đảm bảo trường Port được đặt là 22.
- Trong phần Connection type, chọn SSH.
- Trong trường Host Name (or IP address), bạn có thể sử dụng một trong hai cách sau:
Bước 3: Cấu hình Keepalive (Tùy chọn)
- Bạn có thể cấu hình PuTTY tự động gửi dữ liệu ‘keepalive’ theo các khoảng thời gian đều đặn để duy trì phiên hoạt động. Điều này hữu ích để tránh bị ngắt kết nối khỏi do phiên không hoạt động.
- Trong ngăn Category, chọn Connection, sau đó nhập khoảng thời gian mong muốn (tính bằng giây) vào trường Seconds between keepalives. Ví dụ: nếu phiên của bạn thường bị ngắt kết nối sau 10 phút không hoạt động, hãy nhập 180 để PuTTY gửi dữ liệu keepalive mỗi 3 phút.
Bước 4: Chọn private key
- Trong ngăn Category, mở rộng mục Connection, sau đó mở rộng SSH, chọn Auth.
- Bên cạnh trường Private key file for authentication, nhấp vào nút Browse…. Trong hộp thoại Select private key file, chọn file
.ppk
mà bạn đã tạo cho key pair của mình. Bạn có thể nhấp đúp vào file hoặc nhấp vào nút Open.
Bước 5: Lưu Session (Tùy chọn)
- Nếu bạn dự định kết nối lại với instance này trong tương lai, bạn có thể lưu thông tin phiên hiện tại.
- Quay lại mục Session trong ngăn Category bên trái.
- Nhập tên bạn muốn đặt cho phiên kết nối này vào trường Saved Sessions, sau đó nhấp vào nút Save.
Bước 6: Kết nối đến EC2 Instance
- Để bắt đầu kết nối, nhấp vào nút Open.
- Nếu đây là lần đầu tiên bạn kết nối với instance này, PuTTY có thể hiển thị hộp thoại cảnh báo bảo mật hỏi bạn có tin tưởng máy chủ này không.
- (Tùy chọn) Xác minh rằng dấu vân tay (fingerprint) hiển thị trong hộp thoại cảnh báo bảo mật khớp với dấu vân tay của instance (bạn có thể tìm thấy dấu vân tay này trong thông tin chi tiết của instance trên AWS Management Console). Nếu các dấu vân tay không khớp, có thể có nguy cơ bị tấn công “man-in-the-middle”. Nếu chúng khớp, bạn có thể an tâm tiếp tục.
- Nhấp vào nút Yes. Một cửa sổ dòng lệnh sẽ mở ra, cho biết bạn đã kết nối thành công với instance của mình.
Lưu ý: Nếu bạn đã đặt passphrase khi chuyển đổi private key của mình sang định dạng PuTTY, bạn sẽ được yêu cầu nhập passphrase này sau khi kết nối.
Kết luận
Với những hướng dẫn chi tiết mà ZingServer đã cung cấp, bạn đã nắm vững quy trình kết nối an toàn từ EC2 Instance đến VPS Windows bằng phần mềm PuTTY thông qua giao thức SSH.
Việc thiết lập kết nối SSH không chỉ giúp bạn quản lý EC2 Instance một cách bảo mật mà còn mở ra nhiều khả năng khác trong việc tương tác và làm việc với các máy chủ đám mây khác nhau. Hy vọng rằng bài viết này sẽ là một nguồn tài liệu hữu ích cho bạn trên hành trình khám phá và làm chủ thế giới điện toán đám mây.