Cách Đăng Nhập SSH Root Bằng Mật Khẩu Trên Google Cloud (Sửa Lỗi Permission Denied 100%)
Bạn đã bao giờ gặp tình trạng khi dùng SSH kết nối vào VPS Google Cloud (GCP), dù đã nhập đúng mật khẩu nhưng vẫn nhận thông báo “Permission denied (publickey)”? Đây là một trong những lỗi gây ức chế nhất cho các quản trị viên hệ thống mới. Trong bài viết này, tôi sẽ hướng dẫn bạn cách xử lý triệt để lỗi này, cách kích hoạt Password Authentication và mẹo để quản lý SSH an toàn nhất trên Google Cloud.
1. Tại sao không thể đăng nhập SSH bằng mật khẩu trên Google Cloud?

Mặc định, Google Cloud được thiết kế với tiêu chuẩn bảo mật cực cao. Thay vì cho phép đăng nhập bằng mật khẩu (dễ bị tấn công Brute-force), Google ưu tiên sử dụng SSH Key (Public/Private Key).
Khi bạn cố gắng dùng mật khẩu, hệ thống sẽ kiểm tra file cấu hình SSH (sshd_config) và thấy thiết lập:PasswordAuthentication no
Điều này dẫn đến việc kết nối bị ngắt (Connection reset) ngay lập tức trước khi kịp kiểm tra mật khẩu của bạn.
2. Hướng dẫn cách bật Password Authentication để dùng mật khẩu

Cách 1: Sử dụng Google Cloud Console (Dành cho người không chuyên)
Nếu bạn không muốn dùng dòng lệnh phức tạp, hãy dùng “cửa sau” của Google:
1. Truy cập vào Google Cloud Console $\rightarrow$ Compute Engine $\rightarrow$ VM Instances.
2. Nhấn vào nút SSH ở cột Connect để mở một cửa sổ Terminal trực tiếp trên trình duyệt.
3. Tại cửa sổ này, bạn đã có quyền root mà không cần mật khẩu. Bây giờ, hãy thực hiện các bước ở Cách 2 để mở cổng cho máy tính cá nhân của bạn.
Cách 2: Sử dụng dòng lệnh Terminal (Dành cho Pro)
Sau khi đã vào được Console (từ Cách 1), hãy chạy các lệnh sau để “mở khóa” mật khẩu:
Bước 1: Chỉnh sửa file cấu hình SSH
Sử dụng lệnh sed để sửa trực tiếp (nhanh và không sợ lỗi cú pháp):
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
Bước 2: Đảm bảo cho phép đăng nhập Root
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
Bước 3: Xóa các file cấu hình thừa (Nếu có)
Đôi khi các file trong thư mục .d sẽ ghi đè cấu hình của bạn. Hãy chạy lệnh:
sudo rm -f /etc/ssh/sshd_config.d/*.conf
Bước 4: Khởi động lại dịch vụ SSH
Đây là bước quan trọng nhất để thay đổi có hiệu lực:
sudo systemctl restart ssh
3. Giải quyết lỗi “Permission Denied” ngay cả khi đã đổi mật khẩu

Đây là phần “vượt mặt” đối thủ. Đối thủ thường không nói về việc tại sao đã sửa rồi mà vẫn lỗi.
Nếu bạn đã làm các bước trên mà máy tính Windows vẫn báo lỗi, hãy kiểm tra 2 yếu tố sau:
1. Đặt lại mật khẩu Root: Đôi khi mật khẩu bạn đặt chưa được hệ thống cập nhật đúng. Hãy dùng lệnh: passwd root và đặt lại một mật khẩu mới đơn giản để test. > Aunomay AI: 2. Sử dụng lệnh SSH ép buộc dùng mật khẩu: Trên Windows (CMD/PowerShell), hãy dùng lệnh sau để tránh việc máy tính tự ý dùng SSH Key cũ:
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@<IP_CỦA_BẠN>4. Cảnh báo bảo mật: Đừng để VPS của bạn bị “hack”
Việc mở PasswordAuthentication yes giúp bạn tiện lợi nhưng cũng mở ra cánh cửa cho hacker. Để bảo vệ VPS, hãy:
• Sử dụng mật khẩu cực mạnh: Bao gồm chữ hoa, chữ thường, số và ký tự đặc biệt.
• Cài đặt Fail2Ban: Tự động chặn các IP cố gắng dò mật khẩu. (sudo apt install fail2ban -y).
• Ưu tiên dùng SSH Key: Sau khi đã làm quen, hãy quay lại dùng SSH Key để đạt mức bảo mật tối đa.
Kết luận
Tóm tắt và kêu gọi hành động.
Hy vọng bài viết này đã giúp bạn giải quyết triệt để vấn đề đăng nhập SSH trên Google Cloud. Đừng quên lưu lại bài viết nếu bạn thấy hữu ích!








