2017-02-23 2 views
0

SCPを使用して同一の別のサーバーにファイルをコピーするbashスクリプトを作成しました。 LAN。ssh:再配置エラー:ssh:symbol 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私は、端末を使用して、直接このスクリプトを実行すると、それが動作間違いなく。

/usr/bin/ssh:再配置エラー:/ usr/bin/ssh:symbol EVP_enc_null、バージョンOPENSSL_1.0.0が定義されていません。このファイルは、Apache Tomcatで実行されているJavaクラスから呼び出されます。ファイルlibcrypto.so.1.0.0とリンク時間参照 接続が切断されました

ソースマシンとターゲットマシンの両方がUbuntu 16.04 LTS Serverを実行しています。

は、私が試してみました: がち更新

Serverバージョン aptのアップグレード:Apache Tomcatの/ 7.0.59建て サーバー:2015年1月28日午後03時51分10秒UTC サーバー番号:7.0.59.0 OS名:Linuxの OSバージョン:4.4.0-64-ジェネリック アーキテクチャ:AMD64 JVMのバージョン:1.8.0_65-B17 JVMベンダー:オラクル・コーポレーション

に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は、カスタムライブラリを指すように設定されている環境変数をリセットします。スクリプトのセッションでは、デフォルトライブラリが呼び出されます。

関連する問題