1. 由于安全扫描出ssh的漏洞,需要升级ssh 一台一台编译安装比较慢。所以把源码包做成rpm包方便安装使用
  2. 下载源码包
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz
wget  http://ftp.riken.jp/Linux/momonga/6/Everything/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz
  1. 制作6系统使用的包,在六系统上制作,制作7系统使用的包。在7系统上面制作,下载相关依赖包
yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip -y

4.创建所需目录

mkdir -p /root/rpmbuild/{SOURCES,SPECS}
  1. 把所需的包拷贝到该目录下面
cp openssh-8.1p1.tar.gz x11-ssh-askpass-1.2.4.1.tar.gz /root/rpmbuild/SOUR/SPECS/CES
tar xf openssh-8.1p1.tar.gz 
cp openssh-8.1p1/contrib/redhat/openssh.spec  /root/rpmbuild/SPECS

5.修改配置文件

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
  1. 构建包
rpmbuild -ba openssh.spec
编译过程遇到的错误:
错误:构建依赖失败: openssl-devel < 1.1 被 openssh-8.0p1-1.el7.x86_64 需要
解决:[root@localhost SPECS]# vim openssh.spec 注释掉 BuildRequires: openssl-devel < 1.1 这一行
  1. 安装包
rpm包 在rpmbuild/RPMS/x86_64
yum install -y ./openssh-*  或者rpm安装  yum 安装可以自动解决依赖,推荐使用
建议升级前开启telnet 服务,如果升级失败,可以回滚。
  1. 重启服务。测试连接
service sshd restart 6
systemctl start sshd
  1. 如果连接不上。就试着修改一下配置文件
PermitRootLogin yes  允许root登陆
PasswordAuthentication yes  允许使用密码登陆

参考博文

https://blog.csdn.net/ansible328/article/details/103016616
https://www.cnblogs.com/fsckzy/p/10834550.html