Ubuntu : comment corriger l'erreur open /usr/lib/x86_64-linux-gnu/libtpm2_pkcs11.so.1: No such file or directory

English Français

Problème

Sous Ubuntu 26.04 ou ultérieur, lorsque vous souhaitez vous connecter à un hôte SSH en utilisant une clé SSH basée sur un TPM, vous obtenez l’erreur suivante :

tpm2_pkcs11_error.txt
lib_contains_symbol: open /usr/lib/x86_64-linux-gnu/libtpm2_pkcs11.so.1: No such file or directory
provider /usr/lib/x86_64-linux-gnu/libtpm2_pkcs11.so.1 is not a PKCS11 library
Received disconnect from 100.64.0.132 port 22:2: Too many authentication failures
Disconnected from 10.1.2.3 port 22

Solution

Entre Ubuntu 24.04 et 26.04, le paquet libtpm2-pkcs11-1 a été mis à jour et par conséquent, le fichier de bibliothèque a été déplacé de

old_pkcs11_path.txt
/usr/lib/x86_64-linux-gnu/libtpm2_pkcs11.so.1

vers

new_pkcs11_path.txt
/usr/lib/x86_64-linux-gnu/pkcs11/libtpm2_pkcs11.so

Par conséquent, vous devez modifier votre configuration SSH (généralement dans ~/.ssh/config ou dans /etc/ssh/ssh_config) et changer le chemin vers la bibliothèque du fournisseur PKCS11 pour utiliser le nouveau chemin.

Par exemple, remplacez ceci :

ssh_config_example_old
Host myserver
    HostName myserver.mydomain.com
    PasswordAuthentication no
    PKCS11Provider /usr/lib/x86_64-linux-gnu/libtpm2_pkcs11.so.1

par

ssh_config_example
Host myserver
    HostName myserver.mydomain.com
    PasswordAuthentication no
    PKCS11Provider /usr/lib/x86_64-linux-gnu/pkcs11/libtpm2_pkcs11.so

Check out similar posts by category: Linux