ssh library problem on 64-bit 11.4

I installed OpenSuSE 11.4 64-bit on a server using the text mode/minimal install and it will accept incoming ssh connections. But if I try to use scp on another system to copy files to it, or if I try to use the ssh client on this system to connect to another system, I get this error message:

ssh: error while loading shared libraries: libcrypto.so.0.9.7: cannot open shared object file: No such file or directory

ldd reports that ssh is using libcrypto.so.1.0.0:

libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007ff2e7f14000)

I then installed compat-openssl097g using Yast and there is now a libcrypto.so.0.9.7 in /usr/lib64. But I still get this error message.

What have I missed?

Andy

Check “sftp” (or “sftp-server”).

If you upgraded from an earlier 32 bit system, then it is possible that “sshd_config” has the path for the old 32 bit “sftp-server” instead of the path for the 64 bit.

As best I recall, 11.4 installs “sftp” as “/usr/lib64/ssh/sftp-server” on 64 bit systems.

Although this system did have 32-bit SuSE 9.3 installed previously, it was a fresh installation with all system partitions reformatted using ext4 - only some ext 3 partitions on other disks containing data were left untouched from the old 32-bit install. I tried everything I could think of but the problem remains. However, I have since got around the problem by building the latest openssh 5.9p1 from source and installing this into /usr/local in place of the ssh bundled with 11.4 and all is working well.

In a way, I’ve ‘cheated’ I know but I need to get this server back into use and haven’t the time to track down obscure post-install problems. This is the first time in 16 years of using SuSE that I’ve come across a problem like this in a fresh new installation; I had no problems at all with the 32-bit 11.4 I installed on my netbook last year.

Andy

Did you at least check the path for sftp in “/etc/ssh/sshd_config”?

If you have copied a trusted configuration file from previous installations, that could still be wrong.

Depending on the client, “scp” may use “sftp”, and since it is “scp” where you see the problem, you need to check that is working.

I think you can use “-v -v -v” on the “scp” command line for more verbose information.

Yes I did check the sftp path and it was correct as I was using the /etc/ssh/sshd_config that was installed by 11.4. But I have discovered something very interesting - after I built & installed my own openssh server into /usr/local, the bundled openssh server has started to work correctly! I installed gcc, GNU make and the pam-devel and openssl-devel packages to build my local openssh and I think this has satisfied some dependency required by the 11.4 version. I think this might be a result of me choosing the bare minimum server installation, which omits a lot of things that get installed with a normal installation. It’s all working fine now.

Thank you very much for your helpful suggestions.

cheers, Andy