2017-02-23 16 views
0

我写了使用SCP将文件复制到另一台服务器上的同一个bash脚本LAN。SSH:搬迁错误:SSH:符号EVP_enc_null,版本OPENSSL_1.0.0文件libcrypto.so.1.0.0没有定义的链接时参考

例如, SCP /opt/alfresco_associated/tomcat/temp/Alfresco/_source_4939853286195544661.tiff [email protected]:/opt/ocr/data/temp/eng_119045725.tiff

如果我直接用终端执行这个脚本,它的工作原理没有错误。如果我从运行在Apache Tomcat上的Java类调用它,我会收到以下错误消息:

/usr/bin/ssh:重定位错误:/ usr/bin/ssh:符号EVP_enc_null,版本OPENSSL_1.0.0未定义在文件libcrypto.so.1.0.0中链接时间参考 丢失连接

源和目标机器都运行Ubuntu 16.04 LTS服务器。

我曾尝试: 容易更新 容易升级

Server版本:的Apache Tomcat/7.0.59 Server内置:2015年1月28日15时51分10秒UTC 服务器数量:7.0.59.0 操作系统名称:Linux的 OS版本:4.4.0-64-通用 硬件架构: JVM版本:1.8.0_65-B17 JVM供应商:Oracle公司

的OpenSSL 1.0.2g 2016年3月1日

+0

这可能是与环境变量的问题。它们包含的路径,动态连接器将用于共享库(如'libcrypto.so.1.0.0)搜索。确保你的Java调用设置了与你的bash会话相同的环境变量。发布命令的Java代码的摘录将会很有帮助。 – fzgregor

+0

谢谢。所以看起来Tomcat正在使用它自己的一套库,包括libssl.so.1.0.0。这似乎与安装在系统上的OpenSSL 1.0.2g不同。我注释掉Tomcat的,包括自定义库“setenv.sh”的路线,并重新启动Tomcat的。错误仍然存​​在。有没有办法在运行时检查Tomcat加载的OpenSSL版本? –

回答

1

我已经通过添加下面一行到我的bash脚本的顶部固定这样的:

export LD_LIBRARY_PATH="" 

这将重置环境变量的Tomcat设置为指向自定义库。对于脚本的会话,将调用默认库。

相关问题