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 有其他报错解决办法

posted @ 2020-08-12 14:51  二零一七  阅读(2689)  评论(0编辑  收藏  举报