sql-server - 如何修复 Microsoft ODBC Driver 17 for SQL Server : SSL Provider ssl_choose_client_version:unsupported protocol

标签 sql-server ubuntu openssl ubuntu-20.04 sql-server-2019

我已经在我的 Ubuntu 20.04 最小版上安装了 Sql Server 2019 Developer Edition 和 mssql-tools。
我可以毫无问题地连接到我的本地主机,但是当我想远程到另一个 sql 服务器时:

sqlcmd -S <server> -U <username> -P <password>
我面临这个错误:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : SSL Provider: [error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol].
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.
我在 Debian 10 中遇到过这个问题,并且还在网上搜索解决方案,所以之后我更改了我的 openssl.conf手动(需要su权限):
nano /etc/ssl/openssl.cnf
并将这些添加到我的文件中:
  • ess_cert_id_alg = sha1[tsa_config1]标题
  • openssl_conf = default_conf靠近顶部
  • 最后是以下内容:
    [default_conf]
    ssl_conf = ssl_sect
    [ssl_sect]
    system_default = system_default_sect
    [system_default_sect]
    MinProtocol = TLSv1.0
    CipherString = 默认@SECLEVEL=1

  • 我知道MinProtocolCipherString通常设置为 TLSv1.2DEFAULT@SECLEVEL=2 ,但正如我在 Debian 10 中提到的,我编辑了我的 openssl.conf 并更改了 TLSv1.2TLSv1.0DEFAULT@SECLEVEL=2DEFAULT@SECLEVEL=1并且我的连接已修复,但在 Ubuntu 20.04 minimum 中不仅没有这些行,而且当我再次手动插入这些行时,我面临同样的错误:
    Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : SSL Provider: [error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol].
    Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.
    
    我的 opnessl 版本是:
    OpenSSL 1.1.1f  31 Mar 2020
    
    我还将我的 openssl 降级一次到 1.0,但它也没有工作!
    我找不到其他任何东西,所以我来这里寻求帮助,感谢您的帮助。

    最佳答案

    1.1.1m 救了我的命。手动安装。
    手动安装如下所示:

    wget https://www.openssl.org/source/latest.tar.gz -O openssl-1.1.1h.tar.gz
    
    tar -zxvf openssl-1.1.1m.tar.gz
    
    cd openssl-1.1.1m
    
    ./config
    
    make
    
    sudo make install
    
    openssl version
    
    sudo ldconfig
    

    关于sql-server - 如何修复 Microsoft ODBC Driver 17 for SQL Server : SSL Provider ssl_choose_client_version:unsupported protocol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64412165/

    相关文章:

    c# - Entity Framework (EF) 迁移取决于 SQL Server 版本

    ubuntu - charm 无法创建 charm store 客户端

    ruby-on-rails-4 - rbenv 安装不下载 ruby​​ 版本

    c - SSL_CONNECT 因 SSL_ERROR_SYSCALL 错误而失败

    sql - 在 SQL Server 中查找日期的简单选择查询问题

    SQL Server - 如何从从上到下的数字列表中查询最大数字集

    linux - Ubuntu 12.04升级到14.04后tftp-hpa无法启动

    Python:OSError:无法识别图像文件

    java - 将 EC PublicKey 十六进制字符串转换为 PublicKey

    c# - 从 C# SQLCLR 存储过程批量插入 SQL 表的最快方法