2020-11-18

在centos7.6上升级ssh至8.4/OpenSSL至1.1.1


准备安装环境

1.准备好安装的包  附上官网下载地址

wget -c https://www.zlib.net/zlib-1.2.11.tar.gz  zlib

wget -c https://www.openssl.org/source/openssl-1.1.1h.tar.gz  openssl

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz  openssh


2.编译安装zlib  用于压缩

安装c语言编译工具 gcc  gcc-devel

3.编译安装openssl

3.1 安装依赖环境 

yum -y install perl-CPAN pam pam-devel perl perl-devel

./config --prefix=/usr/local/openssl

make 开始编译 生产Makefile文件

make test  着一步很重要,是对ssl 进行加密性的完整测试。如果出现以下报错:

Can't locate Test/Harness.pm in @INC。。。。。。 install Text::Template error

需  perl  -MCPAN  -e  shell   直接yes 直到出现cpan[1]>  install Text::Template 后

清空编译缓存  make clean  重新make make test 没有报错时  make install

进入安装目录,查看新的openssl版本,初始化函数库:

查看老版本所在路径

which openssl

对老版本进行备份

mv /usr/bin/openssl /usr/bin/openssl.old

创建软连接

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

查看版本,看是否是新版本

openssl version

小提示:请仔细阅读解压目录的 vim INSTALL

   vim NOTES.UNIX

   vim NOTES.PERL  会详细了解安装详情


4.编译安装openssh

备份老的配置,不能退出ssh连接了,但是注意要有把握 最好有telnet保证能再次连接
mv /etc/ssh /etc/ssh.old

tar -zxvf openssh-8.4p1.tar.gz

cd openssh-8.4p1

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl/ --with-md5-passwords --without-hardening

make && make install

拷贝初始化脚本,并设置开机自启和环境变量

cp ./contrib/redhat/sshd.init /etc/init.d/sshd

sed -i 's/SSHD=\/usr\/sbin\/sshd/SSHD=\/usr\/local\/openssh\/sbin\/sshd/g' /etc/init.d/sshd

sed -i 's/\/usr\/bin\/ssh-keygen -A/\/usr\/local\/openssh\/bin\/ssh-keygen -A/g' /etc/init.d/sshd

 chkconfig --add sshd

systemctl restart sshd

echo "export PATH=/usr/local/openssh/bin:$PATH" >> /etc/profile

退出ssh 连接后重新连接 ,使用ssh - V查看新的ssh版本和openssl版本,


一致说明升级成功。


本文仅供参考,不用盲目照抄 结合实际生环境

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容