Khắc Phục Lỗi Không Đăng Nhập Được SSH:
Hướng Dẫn Kiểm Tra Và Xử Lý Chi Tiết
Giới thiệu
Khắc phục lỗi không đăng nhập được SSH là một thao tác quan trọng trong quá trình quản trị hệ thống Linux và máy chủ Cloud. Khi SSH không hoạt động, người dùng sẽ không thể truy cập từ xa để quản lý máy chủ, triển khai ứng dụng hoặc xử lý sự cố.
Lỗi SSH có thể xuất phát từ nhiều nguyên nhân như dịch vụ SSH bị dừng, cấu hình sai, firewall chặn kết nối hoặc lỗi xác thực tài khoản. Việc kiểm tra theo từng bước sẽ giúp giảm thời gian xử lý và nhanh chóng khôi phục hoạt động hệ thống.
Điều kiện trước khi thực hiện
• Có quyền quản trị hệ thống hoặc quyền root
• Có quyền truy cập Console hoặc KVM
• Có địa chỉ IP máy chủ
• Có công cụ SSH như Terminal hoặc PuTTY
• Có quyền kiểm tra mạng và firewall
Nguyên nhân phổ biến gây lỗi SSH
Lỗi không đăng nhập được SSH thường liên quan đến nhiều thành phần trong hệ thống. Việc xác định nguyên nhân chính xác sẽ giúp quá trình xử lý hiệu quả hơn.
Một số nguyên nhân thường gặp:
• Dịch vụ SSH đang dừng
• Sai thông tin tài khoản
• Firewall chặn kết nối
• Sai SSH Key
• Sai cấu hình SSH
• Hết tài nguyên hệ thống
• IP bị chặn
Hướng dẫn thực hiện
Bước 1: Kiểm tra kết nối mạng đến máy chủ
Trước tiên cần xác nhận máy chủ có thể truy cập được thông qua mạng. Nếu mạng không hoạt động thì SSH cũng sẽ không thể hoạt động bình thường.
Thực hiện kiểm tra:
ping IP_ServerNếu không phản hồi cần kiểm tra:
• Trạng thái máy chủ
• Route mạng
• Security Group
• Firewall
Bước 2: Kiểm tra trạng thái dịch vụ SSH
Dịch vụ SSH phải hoạt động để cho phép truy cập từ xa vào máy chủ.
Thực hiện:
systemctl status sshHoặc:
systemctl status sshdNếu dịch vụ đang dừng:
systemctl restart sshHoặc:
systemctl restart sshdSau khi khởi động lại cần xác nhận trạng thái dịch vụ đã hoạt động.
Bước 3: Kiểm tra cổng SSH
Mặc định SSH sử dụng cổng 22. Tuy nhiên nhiều hệ thống thay đổi cổng nhằm tăng bảo mật.
Thực hiện:
ss -tulpn | grep sshHoặc:
netstat -tulpn | grep sshKiểm tra:
• SSH đang lắng nghe
• Đúng số cổng
• Đúng địa chỉ IP
Bước 4: Kiểm tra firewall
Firewall có thể chặn cổng SSH dù dịch vụ vẫn đang hoạt động bình thường.
Ubuntu:
ufw statusCho phép SSH:
ufw allow 22/tcpCentOS hoặc RHEL:
firewall-cmd --list-allMở cổng SSH:
firewall-cmd --add-port=22/tcp --permanentfirewall-cmd --reloadBước 5: Kiểm tra tài khoản người dùng
Thông tin tài khoản không chính xác hoặc tài khoản bị khóa sẽ khiến SSH từ chối đăng nhập.
Thực hiện:
passwd -S usernameHoặc:
chage -l usernameMở khóa tài khoản:
passwd -u usernameBước 6: Kiểm tra SSH Key
Nếu hệ thống sử dụng xác thực bằng SSH Key cần xác nhận khóa khớp giữa máy khách và máy chủ.
Kiểm tra:
~/.ssh/Phân quyền:
chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keysBước 7: Kiểm tra cấu hình SSH
Sai cấu hình có thể khiến SSH không thể khởi động hoặc hoạt động bất thường.
Mở file:
nano /etc/ssh/sshd_configKiểm tra:
• Port
• PermitRootLogin
• PasswordAuthentication
• PubkeyAuthentication
• AllowUsers
Kiểm tra lỗi:
sshd -tKhởi động lại:
systemctl restart sshdKết quả sau khi thực hiện
Sau khi hoàn thành các bước kiểm tra, hệ thống sẽ xác định được nguyên nhân gây lỗi và khôi phục khả năng đăng nhập SSH.
Người quản trị có thể tiếp tục quản lý hệ thống và thực hiện các tác vụ vận hành bình thường.
Các lỗi thường gặp
Lỗi: Connection refused
Nguyên nhân:
• Dịch vụ SSH chưa chạy
• Sai cổng SSH
• Firewall chặn kết nối
Cách xử lý:
• Khởi động lại SSH
• Kiểm tra cổng
• Kiểm tra firewall
Lỗi: Permission denied
Nguyên nhân:
• Sai mật khẩu
• Sai SSH Key
• Sai quyền thư mục
Cách xử lý:
• Kiểm tra thông tin tài khoản
• Kiểm tra SSH Key
• Kiểm tra quyền thư mục
Lỗi: Connection timed out
Nguyên nhân:
• Mất kết nối mạng
• Máy chủ không phản hồi
• Firewall chặn kết nối
Cách xử lý:
• Kiểm tra mạng
• Kiểm tra firewall
• Kiểm tra máy chủ
Khuyến nghị và lưu ý bảo mật
• Không bật đăng nhập root trực tiếp nếu không cần thiết
• Ưu tiên xác thực bằng SSH Key
• Giới hạn người dùng SSH
• Sử dụng cơ chế chống brute force
• Theo dõi log SSH định kỳ
• Cập nhật hệ điều hành thường xuyên
