Fix lỗi no matching host key type found trên Centos

Tác giả: 08/03/2025

Lỗi hiển thị: no matching host key type found. Their offer: ssh-rsa,ssh-ds

Nguyên nhân:

  • OpenSSH 8.8 trở lên đã vô hiệu hóa thuật toán ssh-rsa mặc định vì lý do bảo mật.
  • Máy chủ SSH của bạn vẫn sử dụng các thuật toán cũ (ssh-rsa, ssh-dss).
  • Máy khách SSH (máy bạn đang dùng) không hỗ trợ các thuật toán này theo mặc định.

Đây là cách bạn có thể khắc phục:

Cách 1: Bạn có thể thêm option -o HostKeyAlgorithms=+ssh-rsa,ssh-dss vào câu lệnh SSH thì sẽ SSH được.

ssh -o HostKeyAlgorithms=+ssh-rsa,ssh-dss username@<IP>
Ví dụ: ssh -o HostKeyAlgorithms=+ssh-rsa,ssh-dss username@103.25.34.111
Cách 2: Trực tiếp thêm vào file config SSH trên máy chủ để các máy client có thể SSH mà không cần dùng các option trên.
Vào đường dẫn /etc/ssh/ssh_config thêm vào cuối dòng
Host <IP>
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
Sau đó lưu lại và restart service ssh.
<strong>service sshd restart</strong>
Sau đó có thể thử lại bằng câu lệnh ngắn gọn thường dùng:
ssh root@<IP>
Chúc các bạn có thể fix lỗi thành công với bài viết này.