Jak opravit Ubuntu open /usr/lib/x86_64-linux-gnu/libtpm2_pkcs11.so.1: No such file or directory

Problém

V Ubuntu 26.04 nebo novějším, když se chcete připojit k SSH hostiteli pomocí TPM-based SSH klíče, se zobrazí následující chyba:

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

Řešení

Mezi Ubuntu 24.04 a 26.04 byl balíček libtpm2-pkcs11-1 aktualizován a proto byla knihovní soubor přesunut z

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

na

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

Proto je potřeba upravit vaši SSH konfiguraci (obvykle v ~/.ssh/config nebo v /etc/ssh/ssh_config) a změnit cestu k PKCS11 provider knihovně na novou cestu.

Například změňte toto:

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

na

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

Podívejte se na podobné články podle kategorie: Linux