I am working on an embedded board, to access that board I need ssh to work smoothly. Currently, for debugging purpose I am using serial connection to access the board.
Now, when I try to start openssh it throws following error:
/usr/sbin/sshd: /lib/libcrypt.so.1: version `XCRYPT_2.0' not found (required by /usr/sbin/sshd)
I have the correct libcrypt.so.1 which provides 'XCRYPT_2.0' in /usr/lib/libcrypt.so.1
So this is what I did :
ln -s /usr/lib/libcrypt.so.1 /lib/libcrypt.so.1
I can get the ssh to work. However, I figured out that I need deleted /lib/libcrypt.so.1 - if this shared object is not present then I believe pam_unix.so / some other shared objects are giving me problem. Because I could not login to the board, even serially (for the next reboot).
I don't even see the 'login' prompt.
My question is, is there a way with which I can provide shared object path to sshd dynamically something like?
/etc/init.d/sshd < dynamically provide shared object path > start
/usr/sbin/sshd < dynamically provide shared object path > start
More info about the system:
Using openssh 7.8/7.8p1 version
Using Yocto Thud (2.6) to get the root file system.
Running Linux 4.14