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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM