Corrigez les échecs de connexion SSH causés par l'abandon du schéma de signature ssh-rsa (RSA/SHA-1) sur Ubuntu 22.04, CentOS Stream 9 et des systèmes similaires.
Contexte
RSA est un algorithme asymétrique utilisé en cryptographie à clé publique. Il repose sur des paires de clés composées d'une clé publique et d'une clé privée. Les paires de clés ECS utilisent le chiffrement RSA par défaut. Consultez la rubrique Présentation.
Le schéma de signature ssh-rsa associe l'algorithme de hachage SHA-1 à RSA. Comme SHA-1 est vulnérable aux attaques, ssh-rsa est désactivé par défaut depuis OpenSSH 8.8.
L'abandon de ssh-rsa n'affecte pas les clés RSA elles-mêmes. Les clés RSA prennent en charge plusieurs schémas de signature :
rsa-sha2-256 (RSA/SHA-256)
rsa-sha2-512 (RSA/SHA-512)
ssh-rsa (RSA/SHA-1)
Seul ssh-rsa (RSA/SHA-1) est désactivé par défaut.
Erreur : key type ssh-rsa not in PubkeyAcceptedAlgorithms sur Ubuntu 22.04
Symptôme
La connexion à une instance Ubuntu 22.04 depuis FinalShell ou nuoshell avec une clé RSA échoue. Le journal sshd affiche le message suivant :
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
Cause
Ubuntu 22.04 désactive ssh-rsa par défaut. FinalShell et nuoshell ne prennent en charge que ssh-rsa (RSA/SHA-1) et ne peuvent pas négocier rsa-sha2-256 ou rsa-sha2-512, ce qui entraîne l'échec de la connexion.
Solutions
Choisissez l'une des solutions suivantes :
-
Méthode 1 : Utiliser un autre algorithme de clé
Générez une paire de clés avec un autre algorithme, tel que ECDSA ou DSA.
-
Méthode 2 : Utiliser un autre client SSH
Connectez-vous avec un client prenant en charge rsa-sha2-256 ou rsa-sha2-512, comme Alibaba Cloud Workbench.
-
Méthode 3 : Réactiver ssh-rsa dans la configuration sshd
Importantssh-rsa (RSA/SHA-1) peut présenter des risques de sécurité. Procédez avec prudence.
Autorisez ssh-rsa dans la configuration sshd :
echo 'PubkeyAcceptedAlgorithms=+ssh-rsa' >> /etc/ssh/sshd_config systemctl restart sshd
Erreur : key type ssh-rsa not in PubkeyAcceptedAlgorithms sur CentOS Stream 9 et distributions similaires
Systèmes d'exploitation concernés
CentOS Stream 9
AlmaLinux 9
Rocky Linux 9
Red Hat Enterprise Linux 9
Fedora 33 et versions ultérieures
Symptôme
La connexion à une instance depuis FinalShell ou nuoshell avec une clé RSA échoue. Le journal sshd affiche le message suivant :
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
Cause
CentOS Stream 9 et les autres systèmes répertoriés désactivent ssh-rsa (RSA/SHA-1) par défaut. FinalShell et nuoshell ne prennent en charge que ssh-rsa et ne peuvent pas négocier rsa-sha2-256 ou rsa-sha2-512, ce qui entraîne l'échec de la connexion.
Exécutez update-crypto-policies --show pour afficher la stratégie cryptographique actuelle.
Solutions
Choisissez l'une des solutions suivantes :
-
Méthode 1 : Utiliser un autre algorithme de clé
Générez une paire de clés avec un autre algorithme, tel que ECDSA ou DSA.
-
Méthode 2 : Utiliser un autre client SSH
Connectez-vous avec un client prenant en charge rsa-sha2-256 ou rsa-sha2-512, comme Alibaba Cloud Workbench. Consultez la rubrique Méthodes de connexion à une instance ECS.
-
Méthode 3 : Basculer la stratégie cryptographique vers LEGACY
ImportantLa stratégie LEGACY peut présenter des risques de sécurité inconnus. Procédez avec prudence.
Basculez la stratégie cryptographique vers LEGACY :
update-crypto-policies --set LEGACY update-crypto-policies --show