The SSL version of the SQL Server ODBC driver needs a source of unpredictable data to work correctly. Many open-source operating systems provide a "randomness device" (/dev/urandom
or /dev/random
) that serves this purpose, and the SQL Server ODBC driver uses these devices if available.
If the driver is unable to find a randomness device, it returns the error:
"SSL connection failed in syscall (errno=2, there may be no source of entropy on this system, consult OpenSSL documentation)"
On machines where /dev/urandom
or /dev/random
are not present, the EGD
entropy gathering daemon can be used as a source of random data. It provides a socket interface through which entropy (randomness) can be gathered. In your ODBC data source, use the Entropy
attribute to specify the path to the EGD
socket. For example, if you create the socket in /etc
when you start the EGD
daemon (egd.pl /etc/entropy
), use:
[SQLSERVER_SAMPLE_SSL] Driver = Easysoft ODBC-SQL Server SSL Server = my_machine\my_instance User = my_domain\my_user Password = my_password Encrypt = Yes TrustServerCertificate = No Entropy = /etc/entropy