openssh升级

业务背景:公司的集群检测出来系统漏洞,说是openssh版本过低, 需要升级openssh,由于内网环境,需要离线安装

离线需要的安装包如下:

安装gcc需要的安装包:
cpp-4.8.5-36.el7.x86_64.rpm
gcc-4.8.5-36.el7.x86_64.rpm
kernel-headers-3.10.0-957.el7.x86_64.rpm
glibc-devel-2.17-260.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
glibc-headers-2.17-260.el7.x86_64.rpm
mpfr-3.1.1-4.el7.x86_64.rpm

openssh的下载地址:选择一个你喜欢的版本即可
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
我用的版本是:openssh-7.9p1.tar.gz

第一步:查看openssh、openssl的版本信息

openssh7.9依赖 >= zlib1.1.4 并且 openssl >= 1.0.1(不能为1.1.x版本)

命令:ssh -V

查看当前服务器zlib版本:满足要求 > zlib1.1.4

命令:rpm -qa zlib

第二步:查看gcc的版本,如果没有gcc的环境,需要安装gcc

如果是4.8.5的版本就可以了,不需要弄

命令:gcc -v

如果没有gcc,先把gcc相关的依赖包放到一个目录下,在该目录下执行安装gcc的安装命令

命令:rpm -Uvh *.rpm --nodeps --force

验证gcc是否安装成功:

命令:gcc -v

第三步:安装pam-devel的版本,如果没有pam-devel的环境,需要安装pam-devel

先查看是否有pam已经安装

命令:rpm  -qa |grep pam

没有的话需要安装,版本低的话也可以升级

命令:rpm -Uvh *.rpm --nodeps --force

第四步:编译openssh

解压openssh的压缩包

命令:tar -zxvf openssh-7.9p1.tar.gz

进入解压好的目录

命令:cd openssh-7.9p1

编译:

命令:./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd



如果报错:configure: error: * zlib.h missing - please install first or check config.log *
表示未安装 openssl-devel

第五步:卸载旧的openssh

备份openssh配置文件:

命令:cp -r /etc/ssh /etc/ssh.old

查看已安装的openssh:

命令:rpm -qa|grep openssh

卸载openssh,后面的文件是你上一步查询出来的文件名,上面查询出来的文件都要删除,应该是3个文件

命令:rpm -e --nodeps openssh-clients-7.4p1-16.el7.x86_64

再次查看,应该没有openssh相关信息了,说明卸载完成

命令:rpm -qa|grep openssh

第六步:安装新的openssh

之前安装环境已进行./configure,这里直接make即可

命令:cd openssh-7.9p1
命令:make

修改文件权限:提高安全性

chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key

安装

命令:make install

配置

install -v -m755 contrib/ssh-copy-id /usr/bin
install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
install -v -m755 -d /usr/share/doc/openssh-7.9p1
install -v -m644 INSTALL LICENCE OVERVIEW README*
install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.9p1

第七步:设置开机启动

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

chmod +x /etc/init.d/sshd

chkconfig --add sshd

chkconfig sshd on

chkconfig --list sshd

systemctl start sshd

第八步:查看已安装版本信息,说明升级成功

命令:sshd -v

猜你喜欢

转载自blog.csdn.net/qq_38220334/article/details/110225894