Ich habe ein Bash-Skript geschrieben, das SCP verwendet, um Dateien auf einen anderen Server auf dem gleichen zu kopieren LAN.ssh: Umzug Fehler: ssh: Symbol EVP_enc_null, Version OPENSL_1.0.0 nicht in der Datei libcrypto.so.1.0.0 mit Link-Zeit-Referenz
Eg. scp /opt/alfresco_associated/tomcat/temp/Alfresco/_source_4939853286195544661.tiff [email protected]: /opt/ocr/data/temp/eng_119045725.tiff
Wenn ich dieses Skript ausführen, direkt über das Terminal, es funktioniert ohne Fehler. Wenn ich es aus einer Java-Klasse aufrufen, die auf Apache Tomcat ausgeführt wird, wird die folgende Fehlermeldung angezeigt:
/usr/bin/ssh: Verschiebungsfehler:/usr/bin/ssh: Symbol EVP_enc_null, Version OPENSL_1.0.0 nicht definiert in Datei libcrypto.so.1.0.0 mit Link-Zeitreferenz Verbindung verloren
Quell- und Zielcomputer werden mit Ubuntu 16.04 LTS Server ausgeführt.
Ich habe versucht: apt Update apt-Upgrade
Server-Version: Apache Tomcat/7.0.59 Server integriert: 28. Januar 2015 15.51.10 UTC Server Nummer: 7.0.59.0 OS-Name : Linux OS Version: 4.4.0-64-generic Architektur: amd64 JVM Version: 1.8.0_65-b17 JVM Hersteller: Oracle Corporation
OpenSSL 1.0.2g 1. März 2016
Dies könnte ein Problem mit den Umgebungsvariablen sein. Sie enthalten Pfade, in denen der dynamische Linker nach freigegebenen Bibliotheken sucht (z. B. libcrypto.so.1.0.0). Stellen Sie sicher, dass der Java-Aufruf die gleichen Umgebungsvariablen wie Ihre Bash-Sitzung definiert. Ein Auszug des Java-Codes, der den Befehl ausgibt, wäre hilfreich. – fzgregor
Danke. Es scheint also, dass Tomcat einen eigenen Satz von Bibliotheken verwendet, einschließlich libssl.so.1.0.0. Dies scheint sich von dem auf dem System installierten OpenSSL 1.0.2g zu unterscheiden. Ich habe die Zeile in tomcat "setenv.sh" auskommentiert, die die benutzerdefinierten Bibliotheken enthielt, und tomcat neu gestartet. Der Fehler besteht weiterhin. Gibt es eine Möglichkeit, zur Laufzeit zu überprüfen, welche Version von OpenSSL Tomcat lädt? –