当前位置:酷酷问答>百科问答>Red Hat 6.2 升级openSSH(GCC和openSSL)

Red Hat 6.2 升级openSSH(GCC和openSSL)

2024-12-02 13:59:06 编辑:zane 浏览量:564

Red Hat 6.2 升级openSSH(GCC和openSSL)

的有关信息介绍如下:

Red Hat 6.2 升级openSSH(GCC和openSSL)

公司的SFTP实体机(RedHat 6.2 x86_64)被绿盟扫描出openssh工具有漏洞,需要进行升级,以下是升级过程

首先安装GCC编译器

把RHEL6.2镜像的光盘或U盘挂载到某个目录,如:/mnt

在镜像光盘Packages文件夹中,按顺序安装如下文件(#rpm -ivh ):

kernel-headers-2.6.32-220.el6.x86_64.rpm

compat-glibc-headers-2.5-46.2.x86_64.rpm

compat-glibc-2.5-46.2.x86_64.rpm

compat-libstdc++-33-3.2.3-69-el6.x86_64.rpm

compat-libf2c-34-3.4.6-19.el6.x86_64.rpm

libgcc-4.4.6-3.el6.x86_64.rpm

cpp-4.4.6-3.el6.x86_64.rpm

glibc-headers-2.12-1.47.el6.x86_64.rpm

glibc-devel-2.12-1.47.el6.x86_64.rpm

libgomp-4.4.6-3.el6.x86_64.rpm

libstdc++-devel-4.4.6-3.el6.x86_64.rpm

cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

ppl-0.10.2-11.el6.x86_64.rpm

gcc-4.4.6-3.el6.x86_64.rpm

然后运行命令:rpm -qa |grep gcc

出现:

gcc-4.4.6-3.el6.x86_64

libgcc-4.4.6-3.el6.x86_64

compat-libgcc-296-2.96-138

说明已经安装成功!

最后要卸载iso镜像文件

#unmount /mnt

查看当前的ssh服务版本并检测旧的安装包

#ssh -V

#rpm -qa|grep openssl(openssh)

查看目前ssh服务状态

#service sshd status

关闭ssh服务

#service sshd stop

备份ssh配置文件

#cp -a/etc/ssh /etc/ssh.bak

卸载openssh的rpm安装包。此处未卸载ssl安装包,因为openSSL只是一个协议,可以升级后修改配置文件完成。#rpm -e openssh****

卸载注意因为某些服务的依赖性可能系统会拒绝卸载,此时需要在后面加上—nodeps命令,即忽略依赖性。这里顺序是先卸载clients-server-askpass-openssh

此时再查ssh版本和安装包

#ssh -V

# rpm -qa|grep openssh

说明已卸载完毕

开始安装openssh

安装顺序是zlib库→openssl→openssh

Zlib库安装

解压缩安装包

#tar -xzvf zlib-1.2.8.tar.gz

#cd zlib-1.2.8

#./configure --prefix=/usr/local配置安装路径检测环境

无报错,开始安装

#make && make install无报错,安装完毕

openSSL升级

卸载旧版本 OpenSSL,所谓卸载其实是移除旧的协议,注意:操作之前应做好备份。

#cp -a /etc/ssl /etc/ssl.bak

#rm -rf /etc/ssl

编译与安装 OpenSSL

prefix 是安装目录,openssldir 是配置文件目录,另外安装两次,shared 作用是生成动态连接库。

#tar -xzvf openssl-1.0.2j.tar.gz

#cd openssl-1.0.2j/

#./config --prefix=/usr/local --openssldir=/usr/local/ssl

安装完毕,无报错。

#make && make install

生成链接库

#./config shared --prefix=/usr/local --openssldir=/usr/local/ssl

#make clean(清除上一次编译缓存)

#make && make install

无报错安装完毕

移除并备份旧的配置文件

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

移除并备份旧的头文件*

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

*部分redhat系统不存在这个文件夹,可以忽略

重新链接新的openSSL文件和头文件

ln –s /usr/local/bin/openssl /usr/bin/openssl

ln –s /usr/local/include/openssl /usr/include/openssl

配置库文件搜索路径,也就是告诉系统访问的路径。

#echo “/usr/local/lib” >> /etc/ld.so.conf

#echo “/usr/local/lib64” >> /etc/ld.so.conf

#ldconfig –v 刷新一下系统所有的配置文件

无报错

再验证一下openSSL的版本号,确认升级成功

源码安装openSSH

#tar xzvf openssh-6.9p1.tar.gz

#cd openssh-6.9p1

#./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --mandir=/usr/share/man --with-zlib=/usr/local/zlib

无报错,下一步安装

# make && make install

修改相关配置文件

# cp -p /root/openssh-6.9p1/contrib/redhat/sshd.init /etc/init.d/sshd (拷贝redhat版本的配置文件)

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

# chkconfig --add sshd 开启sshd服务

#cp /etc/ssh/sshd_config /etc/ssh/sshd_config(bak) -a

#cp /root/openssh-6.9p1/sshd_config /etc/ssh/sshd_config 提示是否覆盖,复制后选择覆盖

编辑sshd_config文件,将subsystem sftp 路径变更为实际路径。(i=插入,:wq=保存退出)

# cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd

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

# service sshd restart 重启服务

再次查看sshd服务的版本

版权声明:文章由 酷酷问答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.kukuwd.com/answer/148941.html
热门文章