SSH key pair là một phương thức xác thực an toàn sử dụng trong giao thức SSH (Secure Shell) để đăng nhập vào các máy chủ từ xa, như VPS (Virtual Private Server). Một SSH key pair bao gồm hai phần: khóa công khai (public key) và khóa riêng tư (private key). Bài viết dưới đây sẽ hướng dẫn bạn cách tạo SSH key pair và sử dụng nó để login vào VPS nhé.
Tầm quan trọng của việc sử dụng SSH key pair
Tin rằng với những ưu điểm dưới đây, bạn sẽ muốn tạo SSH key pair và sử dụng chúng trên VPS của bạn ngay lập tức.
- Bảo mật cao: SSH key pair cung cấp mức độ bảo mật cao hơn so với mật khẩu thông thường. Khóa riêng tư được lưu trữ an toàn trên máy tính của bạn, trong khi khóa công khai được lưu trên máy chủ. Chỉ khi cả hai khóa khớp nhau, bạn mới có thể đăng nhập.
- Khó bị tấn công: Việc sử dụng SSH key pair giúp giảm nguy cơ bị tấn công brute-force, vì các khóa SSH rất dài và phức tạp, khó có thể đoán được.
- Tiện lợi: Sau khi thiết lập, bạn có thể đăng nhập vào VPS mà không cần nhập mật khẩu mỗi lần, giúp tiết kiệm thời gian và tăng tính tiện lợi.
- Quản lý dễ dàng: Bạn có thể dễ dàng quản lý và thu hồi quyền truy cập bằng cách thêm hoặc xóa khóa công khai trên máy chủ mà không cần thay đổi mật khẩu.
Tiến hành tạo SSH key pair
Để tiến hành tạo SSH key pair, bạn hãy log in vào VPS và chạy lệnh:
ivps
Chọn chức năng
Lúc này trên terminal của bạn sẽ hiện ra các chức năng của ứng dụng iVPS. Bạn chỉ cần lựa chọn menu tương ứng muốn thực thi. Ở đây là lựa chọn menu “Bảo mật”.
======================================================================================
iVPS - Quản trị VPS thật dễ dàng
======================================================================================
Disk: 8/107 GB | Ram: 698/10906 MB | Swap: 0/4095 MB
--------------------------------------------------------------------------------------
1) Thông tin VPS 7) Quản lý Nginx 13) Sao lưu và phục hồi
2) Thông tin các dịch vụ 8) Quản lý MySQL 14) Quản lý Telegram
3) Quản lý tên miền 9) Quản lý PHP 15) Bảo mật
4) Quản lý SSL 10) Quản lý Fail2ban 16) Quản lý key
5) Quản lý SSH/SFTP 11) Quản lý CSF (Firewall) 17) Cập nhật iVPS
6) Quản lý Web Auth 12) Quản lý RClone 18) Thoát iVPS
-//- Nhập lựa chọn chức năng theo menu trên (1-18): 15
Một menu con sẽ hiện ra, hãy chọn menu “Tạo SSH key pair” nhé.
======================================================================================
iVPS - Quản trị VPS thật dễ dàng
======================================================================================
Quản lý Bảo mật
--------------------------------------------------------------------------------------
Disk: 8/107 GB | Ram: 702/10906 MB | Swap: 0/4095 MB
--------------------------------------------------------------------------------------
1) Tạo SSH key pair 4) Thông báo đăng nhập root
2) Cài đặt Google Authenticator 5) Quay lại menu trước
3) Phương thức xác thực đăng nhập 6) Thoát iVPS
-//- Nhập lựa chọn chức năng theo menu trên (1-6): 1
Xác nhận tạo SSH key pair
Nếu VPS đã tồn tại các key pair (vì có thể bạn đã lựa chọn sử dụng SSH key pair trong quá trình rebuild VPS), iVPS sẽ xóa tất cả và ghi đè key pair mới. Cá nhân mình đề xuất chỉ cho phép 1 key pair có thể log in vào tài khoản root của VPS. Ok bây giờ xác nhận thực thi việc tạo SSH key pair nhé.
--------------------------------------------------------------------------------------
Xác nhận lại thông tin
--------------------------------------------------------------------------------------
SSH key pair đã tồn tại, bây giờ sẽ tiến hành ghi đè key pair cũ.
Bạn xác nhận thông tin bên trên chứ? (y/n): y
Download private key
Quá trình thực thi sẽ tiến hành tạo 1 cặp public key và private key. Trong đó public key sẽ được lưu trên VPS, còn đối với private key thì bạn cần download về để sau này sử dụng nó đăng nhập vào VPS. Nhằm đảm bảo tính bảo mật, private key sẽ bị xóa trong vòng 1 phút. Vì vậy bạn hãy nhanh chóng tiến hành download ngay nhé.
--------------------------------------------------------------------------------------
Thực thi
--------------------------------------------------------------------------------------
Tạo SSH key pair thành công.
URL : http://158.32.81.138/ivps_VLIzJIuHeeKp
Web Auth username : ivps
Web Auth password : N/g-Bu_WPGRcGqVmxaP/
Hãy nhanh chóng tải xuống vì private key sẽ tự động xóa sau 1 phút.
Đã xóa private key.
--------------------------------------------------------------------------------------
Bạn hãy truy cập vào url được đưa ra, đăng nhập vào Web Auth với username và password hiển thị trên terminal của bạn (đỡ mất công tìm kiếm vì thời gian có hạn) để download. Trong trường hợp private key đã bị xóa vì hết thời hạn trên, bạn hãy tiến hành “Tạo SSH key pair” lại từ đầu nhé.
Tạo SSH key pair và download private key thành công rồi thì bây giờ là hướng dẫn sử dụng private key để đăng nhập vào VPS nhé.
Đăng nhập sử dụng key pair
Trước tiên, bạn cần biết rằng bạn chưa thể sử dụng private key để đăng nhập vào VPS sau khi tạo SSH key pair. Để có thể sử dụng key pair, bạn cần phải thay đổi phương thức xác thực đăng nhập mà ở đó, phương thức xác thực đăng nhập mới có sử dụng key pair, tức 1 trong 4 phương thức sau:
- Publickey
- Publickey + Google Authenticator
- Publickey + Password
- Publickey + Password + Google Authenticator
Giả sử bạn đã thay đổi phương thức xác thực đăng nhập sang sử dụng publickey rồi nhé. Bây giờ mình sẽ hướng dẫn sử dụng private key vừa download về để log in vào VPS. Quá trình này sẽ phụ thuộc vào phần mềm mà bạn sử dụng để log in.
Terminal
Nếu bạn sử dụng các ứng dụng terminal (Command Prompt, Windows PowerShell, v.v…) để log in thì quy trình khá đơn giản. Bạn hãy chạy lệnh sau:
ssh -p 8888 -i "C:\Users\iVPS\Downloads\ivps_VLIzJIuHeeKp" root@158.32.81.138
Trong đó bạn cần thay đổi các thông tin cho phù hợp, bao gồm: cổng SSH của VPS, đường dẫn tới file private key (thêm cặp dấu “” nếu trong đường dẫn có chứa khoảng trắng), và địa chỉ IP của VPS. Điền “yes” và nhấn [Enter] nếu được hỏi ở lần log in đầu tiên.
Cá nhân mình vẫn thích sử dụng terminal trực tiếp vì chỉ cần tạo alias cho lệnh trên là nhanh hơn sử dụng các ứng dụng GUI (giao diện đồ họa) rất nhiều. Ví dụ mình chỉ cần mở terminal lên và gõ ssh-138 là login vào VPS luôn (138 là 3 số cuối địa chỉ IP của VPS), quá nhanh phải không.
Bitvise SSH Client
Bạn hãy điền các thông tin: Host (IP của VPS), Port (Cổng SSH), Username (root), Initial method (chọn publickey để sử dụng key pair đăng nhập vào VPS), Client key (Auto).

Tiếp theo, hãy click vào “Client key manager”. Cửa sổ “Client Key Manager” sẽ hiện lên, click vào “Import”.

Cửa sổ duyệt file sẽ hiện lên, bạn tìm đến file private key vừa download. Vì file private key vừa download về không có phần mở rộng (extension) nên bạn hãy chọn All Files (*.*) để có thể thấy và chọn file nhé.

Sau khi chọn file thì click “Import” rồi tắt cửa sổ “Client Key Manager” đi. Bây giờ click “Log in” là có thể kết nối vào VPS.
PuTTY
Sau khi tạo SSH key pair, để có thể sử dụng với PuTTY, chúng ta cần phải chuyển đổi format của file private key vừa download về sang chuẩn của PuTTY:
- Mở phần mềm PuTTYgen (được cài đặt cùng khi cài đặt PuTTY).
- Nhấp vào “Load” và chọn file private key vừa download về.
- Sau khi chọn file, nhấp vào “Save private key” để lưu nó dưới định dạng .ppk của PuTTY.
Tiếp theo, ta cần cấu hình PuTTY để sử dụng private key:
- Mở PuTTY rồi điền địa chỉ IP của VPS và cổng SSH.
- Ở menu bên trái, chọn Connection > SSH > Auth.
- Nhấp vào “Browse” và chọn tệp .ppk mà bạn đã lưu ở bước trước đó.
- Quay lại mục Session, nhập tên cho phiên làm việc của bạn tại ô “Saved Sessions” và nhấp vào “Save”.
Ok bây giờ chọn session đã lưu rồi nhấp vào “Open” để kết nối vào VPS thôi.
Lời kết
Bạn có thắc mắc gì về chức năng “Tạo SSH key pair” này không? Comment vào bài viết này ngay nhé.