Perbaiki kegagalan koneksi SSH yang disebabkan oleh skema signature ssh-rsa (RSA/SHA-1) yang telah ditinggalkan pada Ubuntu 22.04, CentOS Stream 9, dan sistem serupa.
Latar Belakang
RSA adalah algoritma asimetris yang digunakan dalam kriptografi kunci publik. Algoritma ini mengandalkan pasangan kunci yang terdiri dari kunci publik dan kunci privat. Pasangan kunci ECS menggunakan enkripsi RSA secara default. Lihat Ikhtisar.
Skema signature ssh-rsa menggunakan algoritma hash SHA-1 dengan RSA. Karena SHA-1 rentan terhadap serangan, ssh-rsa telah dinonaktifkan secara default sejak OpenSSH 8.8.
Penghentian penggunaan ssh-rsa tidak memengaruhi kunci RSA itu sendiri. Kunci RSA mendukung beberapa skema signature:
-
rsa-sha2-256 (RSA/SHA-256)
-
rsa-sha2-512 (RSA/SHA-512)
-
ssh-rsa (RSA/SHA-1)
Hanya ssh-rsa (RSA/SHA-1) yang dinonaktifkan secara default.
Error: key type ssh-rsa not in PubkeyAcceptedAlgorithms pada Ubuntu 22.04
Gejala
Koneksi ke instans Ubuntu 22.04 dari FinalShell atau nuoshell menggunakan kunci RSA gagal. Log sshd menampilkan:
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
Penyebab
Ubuntu 22.04 menonaktifkan ssh-rsa secara default. FinalShell dan nuoshell hanya mendukung ssh-rsa (RSA/SHA-1) dan tidak dapat melakukan negosiasi rsa-sha2-256 atau rsa-sha2-512, sehingga koneksi gagal.
Solusi
Pilih salah satu solusi berikut:
-
Metode 1: Gunakan algoritma kunci yang berbeda
Buat pasangan kunci dengan algoritma lain seperti ECDSA atau DSA.
-
Metode 2: Gunakan client SSH yang berbeda
Lakukan koneksi dengan client yang mendukung rsa-sha2-256 atau rsa-sha2-512, seperti Alibaba Cloud Workbench.
-
Metode 3: Aktifkan kembali ssh-rsa dalam konfigurasi sshd
Pentingssh-rsa (RSA/SHA-1) dapat menimbulkan risiko keamanan. Lakukan dengan hati-hati.
Izinkan ssh-rsa dalam konfigurasi sshd:
echo 'PubkeyAcceptedAlgorithms=+ssh-rsa' >> /etc/ssh/sshd_config systemctl restart sshd
Error: key type ssh-rsa not in PubkeyAcceptedAlgorithms pada CentOS Stream 9 dan distribusi serupa
Sistem operasi yang terdampak
-
CentOS Stream 9
-
AlmaLinux 9
-
Rocky Linux 9
-
Red Hat Enterprise Linux 9
-
Fedora 33 dan versi lebih baru
Gejala
Koneksi ke instans dari FinalShell atau nuoshell menggunakan kunci RSA gagal. Log sshd menampilkan:
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
Penyebab
CentOS Stream 9 dan sistem lain yang disebutkan menonaktifkan ssh-rsa (RSA/SHA-1) secara default. FinalShell dan nuoshell hanya mendukung ssh-rsa dan tidak dapat melakukan negosiasi rsa-sha2-256 atau rsa-sha2-512, sehingga koneksi gagal.
Jalankan update-crypto-policies --show untuk melihat kebijakan kriptografi saat ini.
Solusi
Pilih salah satu solusi berikut:
-
Metode 1: Gunakan algoritma kunci yang berbeda
Buat pasangan kunci dengan algoritma lain seperti ECDSA atau DSA.
-
Metode 2: Gunakan client SSH yang berbeda
Lakukan koneksi dengan client yang mendukung rsa-sha2-256 atau rsa-sha2-512, seperti Alibaba Cloud Workbench. Lihat Metode untuk menghubungkan ke instans ECS.
-
Metode 3: Ubah kebijakan kriptografi ke LEGACY
PentingKebijakan LEGACY dapat menimbulkan risiko keamanan yang tidak diketahui. Lakukan dengan hati-hati.
Ubah kebijakan kriptografi ke LEGACY:
update-crypto-policies --set LEGACY update-crypto-policies --show