Menu

#1594 After installing STAF in SLES 12.2 SSH is not working

Unix::Linux
open
nobody
None
5
2017-04-28
2017-04-28
Ramesh
No

After installing STAF3426-setup-linux-amd64-NoJVM.bin on a SLES 12.2

I get the following error
ncmlnx12:~ # ssh
ssh: symbol lookup error: ssh: undefined symbol: ECDH_compute_key

STAF version used STAF3426-setup-linux-amd64-NoJVM.bin

OS details
ncmlnx12:~ # cat /etc/os-release
NAME="SLES"
VERSION="12-SP2"
VERSION_ID="12.2"
PRETTY_NAME="SUSE Linux Enterprise Server 12 SP2"
ID="sles"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:12:sp2"

Java details
ncmlnx12:~ # java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (IcedTea 3.3.0) (suse-20.1-x86_64)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)

Please Note:
1. STAF is working fine however my ssh is not working fine
2. If I uninstall STAF then ssh is working fine.

Discussion

  • Sharon Lucas

    Sharon Lucas - 2017-04-28

    The default installation of STAF updates system environment variables including LD_LIBRARY_PATH.


    In a terminal, if you remove /usr/local/staf/lib from the LD_LIBRARY_PATH environment variable (or unset it if that is the only path it contains), can you then run ssh?

    # echo $LD_LIBRARY_PATH
    /usr/local/staf/lib:
    # unset LD_LIBRARY_PATH
    # echo $LD_LIBRARY_PATH
    
     
  • Sharon Lucas

    Sharon Lucas - 2017-04-28

    STAF provides OpenSSL libraries that it needs if using the SSL interface. With STAF V3.4.25 and later, we use OpenSSL 1.0.2g when building the STAF binaries (previously we used OpenSSL 0.9.8e) and provide two OpenSSL libraries (libssl.so.1.0.0 and libcrypto.so.1.0.0) in the /usr/local/staf/lib directory. So. setting environment variable LD_LIBRARY_PATH=/usr/local/staf/lib could cause a mismatch between another OpenSSL version installed on your system (e.g. that ssh requires). Note that STAF requires LD_LIBRARY_PATH to contain /usr/local/staf/lib.


    Possible Workarounds:
    1) In the environment in which you are using ssh, don't have /usr/local/staf/lib in the LD_LIBRARY_PATH environment variable. Perhaps you could only set LD_LIBRARY_PATH in the environment in which you are using STAF?
    2) If you aren't using STAF features that use OpenSSL such as the ssl interface (make sure you don't have the ssl interface configured in your STAF.cfg file), then you could remove the two OpenSSL libraries from /usr/local/staf/lib.
    3) Build STAF yourself using a version of OpenSSL that is installed on your system. See the STAF Developer's Guide at http://staf.sourceforge.net/current/stafdg.html for more information about building STAF.

     
  • Ramesh

    Ramesh - 2017-04-28

    Brilliant Lucas

    It worked

    ssh is working now

    I guess when I need to work with STAF I need to setup LD_LIBRARY_PATH variable again

    Regards
    Ramesh

     

Log in to post a comment.