关闭

openssh升级记

196人阅读 评论(0) 收藏 举报

    12.15号生产系统,通过绿盟的rsas系统扫描到有openssh漏洞,官方解决方案是要升级openssh的版本,我从http://www.openssh.com/下载了最新的版本7.4,然后传至正式机,进行configure ,但最后提示openssl  mismatched。我的系统明明有安装了openssl 1.0.1e,考虑是版本不兼容问题,然后下载了1.0.1u和1.1.0c和1.0.2j等3个版本的openssl,然后又使用静态编译的方式configure --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是什么版本的内容。

          

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:99768次
    • 积分:2262
    • 等级:
    • 排名:第17185名
    • 原创:135篇
    • 转载:2篇
    • 译文:0篇
    • 评论:13条
    最新评论
    设计模式