【问题标题】:SQL Server Connection Failed with Linux Mint + SQL Server 2008 R2 using AzureDataStudioSQL Server 连接失败,Linux Mint + SQL Server 2008 R2 使用 AzureDataStudio
【发布时间】:2020-11-20 15:38:12
【问题描述】:

我正在尝试使用 SP4 数据库连接到我的 SQL Server 2008 R2,但是,我收到了这个错误,我尝试了一些在这里找到的解决方案,但没有一个适合我。

PS。我不知道如何理解这个错误

Microsoft.Data.SqlClient.SqlException (0x80131904):与服务器建立连接成功,但在登录前握手期间发生错误。 (提供者:TCP Provider,错误:35 - 捕获到内部异常)

System.Security.Authentication.AuthenticationException:身份验证失败,请参阅内部异常。

Interop+OpenSsl+SslException:SSL 握手失败,出现 OpenSSL 错误 - SSL_ERROR_SSL。

Interop+Crypto+OpenSslCryptographicException:错误:1425F102:SSL 例程:ssl_choose_client_version:不支持的协议

我知道错误是:

SSL 握手失败并出现 OpenSSL 错误

我的 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

【问题讨论】:

    标签: sql-server openssl azure-data-studio


    【解决方案1】:

    Tks all,谁面临同样的问题: 我只是将 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. 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
    

    来源(不同的 openssl 版本但方法相同)

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

    【讨论】:

    • 非常感谢!也许节省了我几个小时或几天..
    猜你喜欢
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    相关资源
    最近更新 更多