Ошибка подключения к SQL Server с Linux Mint + SQL Server 2008 R2 с использованием AzureDataStudio

Я пытаюсь подключиться к своему SQL Server 2008 R2 с базой данных SP4, однако я получил эту ошибку и попробовал некоторые решения, которые нашел здесь, но ни одно из них не работает для меня.

PS. Я не знаю точно, как понять эту ошибку

Microsoft.Data.SqlClient.SqlException (0x80131904): соединение с сервером было успешно установлено, но затем произошла ошибка во время квитирования перед входом в систему. (поставщик: поставщик TCP, ошибка: 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


person José Luiz    schedule 30.07.2020    source источник


Ответы (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

источник (разные openssl, но тот же подход)

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

person José Luiz    schedule 02.08.2020