• ssh升级以及ssh: symbol lookup error: ssh: undefined symbol: EVP_aes_128_ctr错误处理


    1、解压安装openssl包:(不能卸载openssl,否则会影响系统的ssl加密库文件,除非你可以做两个软连接libcryto和libssl)

    # tar -zxvf openssl-1.0.1.tar.gz

    # cd openssl-1.0.1

    #./config -fPIC threads shared

    # make

    # make test

    # make install

    # mv /usr/bin/openssl /usr/bin/openssl.OFF

    # mv /usr/include/openssl /usr/include/openssl.OFF

    //该步骤可能提示无文件,忽略即可

    # ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

    # ln -s /usr/local/ssl/include/openssl /usr/include/openssl

    //移走原先系统自带的openssl,将自己编译产生的新文件进行链接。

    2、配置库文件搜索路径

    # chmod 755 /usr/local/ssl

    # echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

    # /sbin/ldconfig -v

    # openssl version -a

    OpenSSL 1.0.1 14 Mar 2012

    built on: Fri Mar 16 17:14:50 CST 2012

    platform: linux-x86_64

    options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)

    compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM

    OPENSSLDIR: "/usr/local/ssl"

    3、备份启动脚本

    # cp /etc/init.d/sshd /root/

     /#1、停止SSHD服务 

    # /sbin/service sshd stop

    4、卸载系统里原有Openssh

    # rpm –qa|grep openssh  //查询系统原安装的openssh包,全部卸载。

    # rpm -e openssh --nodeps

    # rpm -e openssh-server --nodeps

    # rpm -e openssh-clients --nodeps

    # rpm -e openssh-askpass

    或rpm -e --nodeps `rpm -qa |grepopenssh`

    #4、解压安装zlib包:

    # tar -jxvf zlib-1.2.5.tar.bz2  //首先安装zlib库,否则会报zlib.c错误无法进行

    # cd zlib-1.2.5

    # ./configure

    # make&&make install

    5、解压安装openssh包:

    先将将/etc/ssh的文件夹备份:

    # mv /etc/ssh /etc/ssh_bak

    # tar -zxvf openssh-6.6p1.tar.gz

    # cd openssh-6.6p1

    #./configure --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl  --with-md5-passwords --mandir=/usr/share/man  --with-pam

    # make

    # make install

    6、启动服务

    # cp -p contrib/redhat/sshd.init /etc/init.d/sshd

    (suse:cpcontrib/suse/rc.sshd /etc/init.d/sshd)

    # chmod +x /etc/init.d/sshd

    # chkconfig --add sshd

    # cp sshd_config /etc/ssh/sshd_config  (如提示覆盖,yes回车)

    # cp sshd /usr/sbin/sshd   (如提示覆盖,yes回车)

    # cp ssh-keygen /usr/bin/ssh-keygen

    (redhat:cpssh-keygen /usr/bin/ssh-keygen)

    验证是否service sshd start成功

    service sshd start

    service sshd restart

    ssh -V   //如果看到了新的版本号就没问题啦!如果没有ssh这条命令,执行

    (redhat、suse:ln -s /usr/local/bin/ssh /usr/bin/ssh)

    升级后普通用户无法相互ssh登陆

    提示 ssh: symbol lookup error: ssh: undefined symbol: EVP_aes_128_ctr

    在网上查了好久终于解决了:

    解决方法如下:

    给相应配置文件赋权,使用root用户执行如下三个命令即可

    [root@hadoop1 ~]# chmod o+rx /usr/bin/openssl
    [root@hadoop1 ~]# chmod o+rx /usr/include/openssl
    [root@hadoop1 ~]# chmod o+rx /usr/local/ssl -R
  • 相关阅读:
    android应用框架搭建------BaseActivity
    Android中Application类用法
    Android App框架设计之编写基类BaseActivity
    android Application类的详细介绍
    Linux使用jstat命令查看jvm的GC情况
    cocos2dx怎样设置ios和Android横屏竖屏的几种方法
    网络请求 http get post 一
    Java多线程中wait, notify and notifyAll的使用
    一个人生活,怎样摆脱孤独提升幸福感?
    js控制文本框仅仅能输入中文、英文、数字与指定特殊符号
  • 原文地址:https://www.cnblogs.com/chenjunjie/p/4103264.html
Copyright © 2020-2023  润新知