--with-ssl-dir 指定对应的1.0.1t,但在make时提示错误,查看了一下openssh7.4最新说明,只指出不支持1.1.0版本的openssl,但没有说向下兼容的版本,继续试了1.1.0,果然不行,无法make成功,头上冒汗了,然后试了1.0.2u,编译成功,make install成功,终于有戏了,启动sshd成功。其中sshd是用于openssh的服务器端的监听程序,ssh是客户端连接其它ssh服务器的客户端程序。

    在第一步时,使用ldd来查看 ldd /usr/sbin/sshd查看了一下sshd依赖的包:
        [ ~]$ which sshd --查看sshd的位置

         /usr/sbin/sshd
        [~]$ ldd /usr/sbin/sshd --查看sshd依赖的动态库列表
        linux-vdso.so.1 =>  (0x00007fff4c28b000)
        libfipscheck.so.1 => /lib64/libfipscheck.so.1 (0x00007f1bbc81e000)
        libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f1bbc613000)
        libaudit.so.1 => /lib64/libaudit.so.1 (0x00007f1bbc3f6000)
        libpam.so.0 => /lib64/libpam.so.0 (0x00007f1bbc1e8000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f1bbbfe4000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f1bbbdc4000)
        libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f1bbb9e0000)
        libutil.so.1 => /lib64/libutil.so.1 (0x00007f1bbb7dd000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f1bbb5c6000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f1bbb3ad000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f1bbb176000)
     可以看到sshd使用到的动态库及所处目录。 注意:configure时,首先会从环境变量LD_LIBERARY_PATH配置的路径中查找依据的动态库(linux下是.so文件);然后是/lib64,/usr/lib64目录,如果找不到,则通过/etc/ld.so.conf中配置的路径查找动态库文件。

     然后使用可以使用strings /usr/sbin/sshd | grep OpenSSL 查看sshd使用的OpenSSL是什么版本的内容。