DevOps

🔐 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.

🔐 Hướng Dẫn SSH Vào Server Không Cần Nhập Mật Khẩu

🧩 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:

bash
400">ls ~/.400">ssh

Nếu thấy các file:

bash
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:

bash
400">ssh-keygen -t ed25519 -C 400">"your_email@example.com"

Lệnh này tạo ra 2 file:

  • id_ed25519 → private key

  • id_ed25519.pub → public key

Khi được hỏi:

bash
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:

bash
400">ssh-copy-id user@server-ip

Ví dụ:

code
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:

code
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ử:

code
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:

  1. Kiểm tra quyền thư mục trên server:

code
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
  1. Kiểm tra cấu hình SSH server tại:

code
/etc/ssh/sshd_config

Đảm bảo có:

code
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

Sau đó khởi động lại SSH:

code
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:

code
PasswordAuthentication no

Restart SSH, và bạn chỉ có thể đăng nhập bằng SSH key.

👁️2 lượt xem
❤️0 lượt thích