Resolvendo o erro “Cannot load library libgssapi_krb5.so.2” em containers linux no .NET 8

Marcio Nizzola
2 min readNov 5, 2024

--

Resolvendo o erro “Cannot load library libgssapi_krb5.so.2” em containers linux no .NET 8

Ao desenvolver aplicativos .NET em um ambiente containerizado, você pode se deparar com o erro “Cannot load library libgssapi_krb5.so.2”. Essa mensagem geralmente indica um problema relacionado à autenticação ao conectar seu aplicativo a um banco de dados SQL Server.

Log apresentado no container docker:

Cannot load library libgssapi_krb5.so.2

A biblioteca libgssapi_krb5.so.2 está associada ao protocolo Kerberos, um mecanismo de autenticação amplamente utilizado em redes corporativas.

As imagens dos Quando você configura sua connection string para usar Trusted_Connection=true, está habilitando a autenticação Windows integrada, que exige a presença dessa biblioteca.

Por que o erro ocorre em containers Linux?

Containers Linux não possuem o suporte completo para a autenticação Windows integrada a partir do .NET 8 Preview 7, as distribuições Alpine, Debian e Ubuntu não tem mais este item para economizar 2.7 Mb no tamanho da imagem, e a Microsoft avaliou que era um cenário que não era mais utilizado. Ao tentar carregar a biblioteca libgssapi_krb5.so.2, o sistema operacional não a encontra, gerando o erro.

Como resolver o problema:

A solução mais simples é desabilitar a autenticação Windows integrada, configurando Trusted_Connection=false em sua connection string.

Com isto tudo irá funcionar normalmente desde que sua conexão seja baseada em usuário e senha e não em autenticação Windows!

Mas também existe como instalar, caso você tenha um cenário que obrigue a ter este tipo de autenticação, mas aí é só dar uma olhada no artigo citado nas referências e encontrará como instalar.

Gostou do artigo? clique no ícone👏e me siga para ver as próximas publicações !! Quer ver mais conteúdos, acesse minhas redes através do Linktree: https://linktree.com/nizzola

Referências:

https://learn.microsoft.com/en-us/dotnet/core/compatibility/containers/8.0/krb5-libs-package

--

--

Marcio Nizzola
Marcio Nizzola

Written by Marcio Nizzola

Microsoft MVP | Software Architect na CI&T | Prof. da Etec Itu | Membro Fundador da Comunidade Itu Developers.

No responses yet