2017-02-23 6 views
0

Я написал сценарий bash, который использует SCP для копирования файлов на другой сервер на одном и том же LAN.ssh: ошибка перемещения: ssh: символ EVP_enc_null, версия OPENSSL_1.0.0 не определена в файле libcrypto.so.1.0.0 со ссылкой на ссылку

Например. УПП /opt/alfresco_associated/tomcat/temp/Alfresco/_source_4939853286195544661.tiff [email protected]: /opt/ocr/data/temp/eng_119045725.tiff

Если я выполнить этот сценарий непосредственно через терминал, он работает без ошибок. Если я вызываю это из класса Java, запущенного на Apache Tomcat, я получаю следующее сообщение об ошибке:

/usr/bin/ssh: ошибка перемещения:/usr/bin/ssh: symbol EVP_enc_null, версия OPENSSL_1.0.0 не определена в файле libcrypto.so.1.0.0 с ссылкой ссылки времени lost connection

Как исходные, так и целевые компьютеры обслуживают Ubuntu 16.04 LTS Server.

Я пробовал: склонного обновление склонного обновления

версии сервера: Apache Tomcat/7.0.59 Сервера построен: 28 января 2015 15:51:10 UTC число Сервера: 7.0.59.0 Названия ОС : Linux OS Версия: 4.4.0-64-родовой Архитектура: amd64 JVM версии: 1.8.0_65-b17 JVM Производитель: Oracle Corporation

OpenSSL 1.0.2g 1 марта 2016

+0

Это может быть проблема с переменными окружения. Они содержат пути, в которых динамический компоновщик будет искать общие библиотеки (например, 'libcrypto.so.1.0.0). Убедитесь, что Java-вызов задает те же переменные среды, что и ваш сеанс bash. Будет полезна выдержка кода Java, выдающего команду. – fzgregor

+0

Спасибо. Похоже, Tomcat использует собственный набор библиотек, включая libssl.so.1.0.0. Это, похоже, отличается от установленного в системе OpenSSL 1.0.2g. Я прокомментировал строку в «setenv.sh» tomcat, которая включала пользовательские библиотеки и перезапустила tomcat. Ошибка все еще сохраняется. Есть ли способ проверить, во время выполнения, какая версия OpenSSL загружается Tomcat? –

ответ

1

Я установил это, добавив строку ниже в верхней части моей Баш скрипт:

export LD_LIBRARY_PATH="" 

Это сбрасывает переменную окружения, что Tomcat является параметр, чтобы указать пользовательские библиотеки. Для сеанса скрипта вызывается библиотеки по умолчанию.

Смежные вопросы