FreeTDS에는 MS SQL 연결에 대한 암호화 지원이 부족합니다.

FreeTDS에는 MS SQL 연결에 대한 암호화 지원이 부족합니다.

pyodbc저는 Gentoo Linux 를 실행 중이고 freetds.

디버그 로그인이 활성화되어 있습니다 freetds. 이제 연결을 시도하면 다음이 표시됩니다.

18:13:00.841828 13523 (net.c:270):tds_open_socket: connect(2) returned "Operation now in progress"
18:13:00.955976 13523 (net.c:310):tds_open_socket() succeeded
18:13:00.955996 13523 (util.c:156):Changed query state from DEAD to IDLE
18:13:00.956017 13523 (net.c:741):Sending packet
0000 12 01 00 34 00 00 00 00-00 00 15 00 06 01 00 1b |...4.... ........|
0010 00 01 02 00 1c 00 0c 03-00 28 00 04 ff 08 00 01 |........ .(......|
0020 55 00 00 02 4d 53 53 51-4c 53 65 72 76 65 72 00 |U...MSSQ LServer.|
0030 d3 34 00 00            -                        |.4..|

18:13:01.190745 13523 (net.c:555):Received header
0000 04 01 00 25 00 00 01 00-                        |...%....|

18:13:01.190772 13523 (net.c:609):Received packet
0000 04 01 00 25 00 00 01 00-00 00 15 00 06 01 00 1b |...%.... ........|
0010 00 01 02 00 1c 00 01 03-00 1d 00 00 ff 0a 32 10 |........ ......2.|

18:13:01.190781 13523 (login.c:1057):detected flag 3
18:13:01.190783 13523 (login.c:1068):server required encryption but support is not compiled in
18:13:01.190785 13523 (login.c:466):login packet rejected
18:13:01.190821 13523 (util.c:156):Changed query state from IDLE to DEAD

일부 암호화에 대한 지원이 누락된 것 같지만 어느 암호화인지 모르겠습니다. 나는 freetds다음 구성 매개변수를 준수합니다.

./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --libdir=/usr/lib64 --with-tdsver=7.0 --enable-msdblib --enable-odbc --with-unixodbc=/usr --enable-krb5

내가 아는 한 그것은 libkrb5암호화에 사용됩니다. 내 구성 플래그는 다음과 같습니다 libkrb5.

./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --without-ldap --without-tcl --enable-pkinit --enable-thread-support --without-hesiod --enable-shared --with-system-et --with-system-ss --enable-dns-for-realm --enable-kdc-lookaside-cache --with-system-verto --disable-rpath  --with-pkinit-crypto-impl=openssl

MS SQL에 연결하기 위해 누락된 구성 플래그가 무엇인지 아는 사람이 있습니까?

답변1

freetds내가 누락한 구성 매개변수 에서 그것을 스스로 알아냈습니다 --with-openssl. 일단 추가하고 다시 설치하면 freetds모든 것이 잘 작동했습니다.

관련 정보