🔐 Hướng Dẫn SSH Vào Server Không Cần Nhập Mật Khẩu
SSH Key Authentication là một phương pháp đăng nhập an toàn và tiện lợi, cho phép bạn kết nối tới server mà không cần nhập mật khẩu mỗi lần. Phương pháp này sử dụng một cặp khóa (private key + public key) để xác thực thay cho mật khẩu truyền thống. Bài viết này sẽ hướng dẫn chi tiết từ A → Z.

🧩 1. SSH Key Authentication là gì?
SSH Key Authentication hoạt động dựa trên:
Private key: Lưu trên máy cá nhân, tuyệt đối không chia sẻ.
Public key: Copy lên server để xác thực.
Khi bạn SSH, server sẽ kiểm tra xem private key của bạn có khớp với public key hay không. Nếu khớp → đăng nhập thành công mà không cần mật khẩu.
.
🧩 2. Kiểm tra xem máy bạn đã có SSH key chưa
Mở terminal và chạy:
400">ls ~/.400">ssh
Nếu thấy các file:
id_ed25519
id_ed25519.pub
→ Bạn đã có SSH key, có thể sử dụng luôn.
Nếu chưa thấy file .pub, bạn cần tạo key.
🧩 3. Tạo SSH key (nếu bạn chưa có)
Chạy lệnh sau:
400">ssh-keygen -t ed25519 -C 400">"your_email@example.com"
Lệnh này tạo ra 2 file:
id_ed25519→ private keyid_ed25519.pub→ public key
Khi được hỏi:
Enter file 400 font-semibold">in which to save the key...
→ Nhấn Enter để lưu vào mặc định.
Khi được hỏi passphrase, bạn có thể để trống để đăng nhập không cần nhập thêm passphrase.
🧩 4. Copy public key lên server
Để copy key, dùng lệnh:
400">ssh-copy-id user@server-ip
Ví dụ:
ssh-copy-id hadavtech@43.**.***.***
Hệ thống sẽ yêu cầu bạn nhập mật khẩu 1 lần duy nhất.
Sau khi copy xong, bạn sẽ thấy thông báo:
Number of key(s) added: 1
Now try logging into the machine...
🧩 5. Kiểm tra kết nối SSH không cần mật khẩu
Thử:
ssh user@server-ip
Nếu đăng nhập được mà không bị yêu cầu mật khẩu, bạn đã cấu hình thành công.
🧩 6. Khắc phục lỗi thường gặp
❗ Nếu vẫn bị hỏi mật khẩu:
Kiểm tra quyền thư mục trên server:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Kiểm tra cấu hình SSH server tại:
/etc/ssh/sshd_config
Đảm bảo có:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Sau đó khởi động lại SSH:
sudo systemctl restart ssh
🧩 7. Tắt luôn đăng nhập bằng mật khẩu (tăng bảo mật)
Chỉ làm khi bạn chắc chắn SSH key hoạt động.
Trong /etc/ssh/sshd_config, đổi:
PasswordAuthentication no
Restart SSH, và bạn chỉ có thể đăng nhập bằng SSH key.
