今天在工作上遇到一个问题,在做安全扫描的时候发现,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/下面没有包,复制过去就OK
cp openssh-8.1p1.tar.gz rpmbuild/SOURCES/
问题二:
wget http://ftp.riken.jp/Linux/momonga/6/Everything/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz