我们都是通过SSH进行远程登录,但随机的OpenSSH版本比较低,已经出现了漏洞,需要升级。
平台:阿里云服务器 CentOS镜像
版本:CentOS 7
#cat /etc/os-release
注意:为了防止在升级OpenSSH过程中出现问题,导致无关再通过SSH登录,需要先搭建另一条远程登录渠道。
请参考本人的另一个手记--linux telnet登录设置手记
先通过SSH登录,下载升级到服务器上:
#wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p1.tar.gz
#wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1v/openssl-1.1.1v.tar.gz
退出ssh登录
用telnet登录
如果不是root账号登录,则通过
#su
切换到root账号。
1、停止ssh服务
#systemctl stop sshd
备份ssh配置文件(这一步好像没有必要)
#cp -r /etc/ssh /etc/ssh.old
2、查看系统原有openssh包
#rpm -qa | grep openssh
逐一删除所列出的包
#rpm -e --nodeps 上述包文件
安装必要的依赖包
#yum -y install gcc make perl zlib zlib-devel pam pam-devel
安装完毕后执行下面命令,确保所有依赖包正常安装
#rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"
3 解压,进入目录
切换到事先下载好升级包的目录
#tar -xzvf openssl-1.1.1w.tar.gz
#cd openssl-1.1.1w/
#./config --prefix=/usr
#make && make install
返回上一级目录,再解压另一个升级包
#cd ..
#tar zxvf openssh-9.9p1.tar.gz
#cd openssh-9.9p1
#./configure
#make && make install
可能需要再次安装openssh-server
#yum install -y openssl-devel
4、运行,检查最新版本
#openssl version
5 重启ssh服务
#systemctl restart sshd
#ssh -V
6、为保险起见,再次设置开机重启
#systemctl enable ssh
重新服务器,用ssh登录