クライアントを使用すると、Linux Mint + SQL Server 2008 R2へのSQL Server接続が失敗します。

クライアントを使用すると、Linux Mint + SQL Server 2008 R2へのSQL Server接続が失敗します。

SP4データベースを使用してSQL Server 2008 R2に接続しようとしましたが、このエラーが発生し、ここにいくつかの回避策を試しましたが、何も機能しませんでした。

PS。このエラーをどのように処理するのか正確にはわかりませんが、SSL + LINUXの問題であることは明らかです。

Microsoft.Data.SqlClient.SqlException(0x80131904): サーバーへの接続が正常に確立されましたが、事前ログインハンドシェイク中にエラーが発生しました。 (プロバイダ:TCPプロバイダ、エラー:35 - 内部例外をキャッチ)

System.Security.Authentication.AuthenticationException: 認証に失敗しました。内部例外を参照してください。

Interop + OpenSsl + SslException:OpenSSLエラーが原因でSSLハンドシェイクが失敗しました - SSL_ERROR_SSL

Interop+Crypto+OpenSslCryptographicException: エラー: 1425F102: SSL ルーチン: ssl_choose_client_version: サポートされていないプロトコル

私はエラーが次のようになることを知っています。

OpenSSLエラーが原因でSSLハンドシェイクが失敗する

私のopensslバージョン:

OpenSSL 1.1.1f  31 Mar 2020
built on: Mon Apr 20 11:53:50 2020 UTC
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-P_ODHM/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
Seeding source: os-specific

私も私を次のように変更しようとしましたopenssl.cnf

  1. この行を最初に追加する

     openssl_conf = default_conf
    
  2. 最後にこの行を追加してください。

     [ default_conf ]
     ssl_conf = ssl_sect
     [ssl_sect]
     system_default = ssl_default_sect
    
     [ssl_default_sect]
     MinProtocol = TLSv1.2
     CipherString = DEFAULT:@SECLEVEL=1
    

しかし、まだこのエラーが発生します。

PS:Azure Data Studio、VSCode、または.Netなどのクライアントを使用していますが、それでもエラーが発生します。 PS:過去に同じデータベースに接続できたと言うことが重要です。新しいミントインストールのために私のPCフォーマットを接続してください

ベストアンサー1

みんなに感謝し、同じ問題に直面しているすべての人に感謝します。私はSSLを1.1.1にダウングレードしましたが、うまくいきました。

SQL Server 2008 r2 SP3は1.1.1gまたは1.1.1fをサポートする必要があります。

従うべき指示は次のとおりです。

  1. ターミナルを開きます(Ctrl + Alt + t)。
  2. 圧縮パッケージをインポートします。wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
  3. タルボールの解凍with tar -zxf openssl-1.1.1.tar.gz && cd openssl-1.1.1
  4. 注文を発行します./config
  5. sudo apt install make gcc
  6. make
  7. make test可能なエラーがないか確認してください。
  8. 現在opensslバイナリをバックアップします。sudo mv /usr/bin/openssl ~/tmp
  9. 注文を発行しますsudo make install
  10. sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
  11. コマンドを実行してsudo ldconfigシンボリックリンクを更新し、ライブラリキャッシュを再構築します。

手順4〜10がエラーなく進行したと仮定すると、新しいバージョンのOpenSSLが正常にインストールされました。

端末でコマンドを再実行してください。

openssl version

出力は次のようになります。

OpenSSL 1.1.1  11 Sep 2018

ソース(dif opensslですが同じ方法)

https://askubuntu.com/questions/1102803/how-to-upgrade-openssl-1-1-0-to-1-1-1-in-ubuntu-18-04

おすすめ記事