SSH key: tạo và thêm
Cách tạo cặp key, thêm public key trong bảng điều khiển máy chủ, tại sao lưu lại sẽ khởi động lại máy chủ, và tại sao key không hoạt động trên Windows Server.
Cập nhật 23 tháng 8, 2026
Khóa SSH là một cặp tệp: khóa riêng tư bạn giữ lại, khóa công khai nằm trên máy. Khác với mật khẩu, khóa SSH không thể bị dò bằng brute-force.
Tạo cặp khóa
Lệnh giống nhau trong Windows Terminal, PowerShell, macOS và Linux:
ssh-keygen -t ed25519 -C "artem@laptop"
Khi được hỏi về tệp, nhấn Enter (mặc định là ~/.ssh/id_ed25519). Bạn nên đặt passphrase cho khóa: nếu laptop bị đánh cắp, khóa không có passphrase sẽ cho phép truy cập máy ngay lập tức.
Hai tệp sẽ xuất hiện:
| Tệp | Đây là gì |
|---|---|
id_ed25519 | Khóa riêng tư. Không bao giờ chia sẻ, không bao giờ tải lên bất cứ đâu |
id_ed25519.pub | Khóa công khai. Đây là thứ bạn dán vào bảng điều khiển |
Để xem khóa công khai:
cat ~/.ssh/id_ed25519.pub
Dòng này trông như sau: ssh-ed25519 AAAAC3Nza... artem@laptop.
Thêm khóa trong bảng điều khiển
Mở bảng điều khiển của máy tại /hosting/vds/m/<id>, tab “Access”, mục “SSH keys”, dán các khóa vào ô và nhấn “Save keys”.
Lưu khóa sẽ khởi động lại máy đang chạy. Khóa được áp dụng bởi quá trình thiết lập ban đầu khi khởi động, nên chúng sẽ không có hiệu lực nếu không khởi động lại. Mọi thứ không tồn tại qua lần khởi động lại sẽ bị ngắt: các kết nối đang mở, dữ liệu chưa lưu, các dịch vụ không tự khởi động. Trên máy production, hãy chọn thời điểm thích hợp và chỉnh sửa danh sách trong một lần, không phải từng khóa một.
Danh sách khóa bị thay thế hoàn toàn. Hãy gửi toàn bộ bộ khóa: nếu bạn đã có khóa từ máy tính công việc và chỉ lưu khóa mới, khóa cũ sẽ ngừng hoạt động. Ô trống sẽ xóa tất cả khóa.
Định dạng: mỗi dòng một khóa:
ssh-ed25519 AAAAC3Nza... artem@laptop
ssh-ed25519 AAAAC3Nza... artem@work
Dán toàn bộ dòng, bao gồm cả loại ở đầu và chú thích ở cuối, không có ngắt dòng.
Bạn có thể chỉ định khóa ngay khi đặt hàng tại /hosting/vds/new — khi đó khóa sẽ được thêm vào máy khi khởi tạo, và sẽ không cần khởi động lại thêm.
Windows Server không có khóa SSH
Ô khóa áp dụng cho máy Linux. Chúng tôi cung cấp Windows Server 2022 và 2025 không có máy chủ SSH: bạn đăng nhập qua RDP với tư cách Administrator bằng mật khẩu từ bảng điều khiển. Khóa được lưu cho máy như vậy sẽ không mở khóa được gì — đó là lý do trình hướng dẫn đặt hàng không hiển thị ô này.
Cách kết nối và những việc cần làm trong những phút đầu tiên được trình bày trong bài viết Đăng nhập Windows Server lần đầu qua RDP, và bảo vệ truy cập trong bài viết Bảo mật RDP: cổng, mật khẩu, hạn chế.
Kiểm tra đăng nhập
Từ một cửa sổ terminal mới, không đóng phiên hiện tại:
ssh root@203.0.113.10
Nếu bạn không được hỏi mật khẩu, khóa đã hoạt động. Nếu có, hãy xem bảng lỗi bên dưới.
Để không phải gõ địa chỉ mỗi lần, hãy thiết lập tệp ~/.ssh/config.
Tắt đăng nhập bằng mật khẩu
Chỉ sau khi kiểm tra thành công:
nano /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin prohibit-password
systemctl restart ssh
Nếu có sự cố, bạn vẫn có quyền truy cập máy qua bảng điều khiển văn bản trong bảng điều khiển — nó hoạt động độc lập với SSH.
Lỗi thường gặp
| Triệu chứng | Nguyên nhân |
|---|---|
| Vẫn hỏi mật khẩu | Khóa riêng tư đã được dán vào bảng điều khiển thay vì tệp .pub, hoặc khóa có tên sai và client không nhận ra |
UNPROTECTED PRIVATE KEY FILE | Quyền quá rộng: chmod 600 ~/.ssh/id_ed25519 |
| Khóa hoạt động rồi ngừng hoạt động | Danh sách trong bảng điều khiển đã bị ghi đè mà không có khóa này |
| Sau khi cài đặt lại, khóa không còn hoạt động | Máy đã được tạo lại và các khóa không được đưa vào. Mở “SSH keys” và lưu lại danh sách |
Permission denied (publickey) sau khi tắt mật khẩu | Khóa chưa bao giờ đến được máy — đăng nhập qua bảng điều khiển console và kiểm tra /root/.ssh/authorized_keys |
Chẩn đoán với đầu ra chi tiết:
ssh -v root@203.0.113.10
Đầu ra hiển thị những khóa mà client đã cung cấp và những gì máy chủ trả lời.
Người dùng PuTTY cần khóa ở định dạng riêng của nó — xem kết nối từ PuTTY.