今天在工作上遇到一个问题,在做安全扫描的时候发现,openssh有比较多的漏洞,按照绿盟扫描器的建议需要升级到最新版本。但是生产环境升级的时候会遇到很多的问题,所以决定在测试环境下打成rpm包上传到生产环境下进行升级。

备份

在做所有的变更都要备份,如果有问题可以随时回滚。

mkdir /opensshbackup
cd /opensshbackup
mkdir -p /opensshbackup/ssh
mkdir -p /opensshbackup/binssh
mkdir -p /opensshbackup/sbinssh
cp /etc/ssh/* /opensshbackup/ssh
cp /etc/pam.d/sshd .
cp /usr/bin/ssh* /opensshbackup/binssh
cp /usr/sbin/ssh* /opensshbackup/sbinssh

安装基础依赖

yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip wget -y

使用rpmbuild进行构建

解压包

tar xvf openssh-8.1p1.tar.gz
cd openssh-8.1p1

创建一个目录SOURCES

mkdir SOURCES
cd SOURCES
cp /root/openssh-8.1p1/contrib/redhat/openssh.spec .

修改配置文件

sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh.spec
sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh.spec

构建包

rpmbuild -ba openssh.spec

rpm在/root/rpmbuild/RPMS/x86_64目录下,直接将包放到生产环境更新就可以了。

安装的方式有两种

第一种

yum install -y ./openssh-*

第二种

rpm -ivh openssh-* --nodeps

修改/etc/ssh/sshd_config

如果不修改会导致连接不上

PermitRootLogin yes  #加一行运行root登陆
PasswordAuthentication yes #允许密码登陆

问题

问题一:

如果报,是因为/root/rpmbuild/SOURCES/下面没有包,复制过去就OKcentos 6.8下制作openssh8.1rpm包并升级-LMLPHP

 cp openssh-8.1p1.tar.gz rpmbuild/SOURCES/

问题二:

centos 6.8下制作openssh8.1rpm包并升级-LMLPHP

wget  http://ftp.riken.jp/Linux/momonga/6/Everything/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz
11-12 03:04