linux升級openssh及其相關問題解決方法


一、先升級ssl

tar -zxvf openssl-1.1.1.tar.gz
cd /openssl-1.1.1
./config shared zlib --prefix=/usr/local/openssl
make && make install

/*********************

1.如果沒有gcc,要先安裝gcc,一般yum都配置好的,執行以下命令

yum install -y gcc.x86_64

2.安裝gcc后報下面的錯,則執行 yum -y install zlib-devel 命令即可

gcc -I. -Icrypto/include -Iinclude -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/openssl/ssl\"" -DENGINESDIR="\"/usr/local/openssl/lib/engines-1.1\"" -DZLIB -DNDEBUG -MMD -MF crypto/comp/c_zlib.d.tmp -MT crypto/comp/c_zlib.o -c -o crypto/comp/c_zlib.o crypto/comp/c_zlib.c
crypto/comp/c_zlib.c:35:19: fatal error: zlib.h: No such file or directory
# include <zlib.h>

*******************/

 

備份原來的openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak

配置鏈接新版本
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl

配置庫搜索路徑並測試
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf 配置動態庫鏈接
/sbin/ldconfig -v
openssl version -a 查看版本

如果執行openssl version報錯,可能是庫文件位置不對,需做軟連接
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

或者是
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

二、升級ssh

-- 下載最新版本 OpenSSH

從https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/下載最新版本openssh-8.2p1.tar.gz,將版本存放到某個目錄下,沒有特定要求,比如我放在了/home/ssh目錄下


cd openssh-8.2p1

tar xzvf openssh-8.2p1.tar.gz

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl/lib/ 配置文件路徑必須是/etc/ssh

把老版本的ssh放到另外一個目錄,這步是關鍵,這樣就不用卸載舊版本
mkdir /etc/sshbak 新建文件夾
mv /etc/ssh/* /etc/sshbak/ 備份原文件

編譯源碼包

make&&make install

編譯安裝成功后,進行配置

cp opensshd.init /etc/init.d/sshd 復制啟動文件
chmod +x /etc/init.d/sshd 添加執行權限

修改配置文件 /etc/ssh/sshd_config

sed -i 's/#Port 22/Port 22/' /etc/ssh/sshd_config
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

重啟ssh服務

service sshd restart 或者 /etc/init.d/sshd restart

 

-- 另外可以參考網址 https://blog.csdn.net/baidu_38844729/article/details/104510766 有其他報錯解決辦法


免責聲明!

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



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