由于Linux服务器SSH版本过低,会遇到如下OpenSSH安全漏洞(建议:升级至最新版)
前期准备:
a.关闭防火墙,防止其他同地址端机器无法telnet连接至升级SSH的机器。
b.开启telnet服务(此处是为了防止SSH升级失败,导致无法连接至服务器)
1)使用命令查看已经安装的telnet包。
通常telnet包是系统默认安装的,做为客户端,telnet-server包需要自行安装,做为服务端。
2)下载或者从安装光盘里复制相同版本的telnet-server-0.17-47.el6_3.1.x86_64.rpm包。
安装telnet-server包,命令如下:
rpm -ivh telnet-server-0.17-47.el6_3.1.x86_64.rpm
安装完成后可以使用1步骤中的命令查看telnet-server是否安装成功。
3)开启telnet服务(有两种方式)
a)vi /etc/xinetd.d/telnet,将disable=yes改成disable=no
b)chkconfig telnet on 如果需要设置telnet服务为开机自启动,使用命令chkconfig -add telnet或者chkconfig --add telnet
4)重启telnet服务
使用命令server xinetd restart或者/etc/init.d/xinetd restart使配置生效。
5)测试telnet服务是否可用,同地址段机器访问。
开始升级安装:
1)检查以下开发devel包是否安装,安装方式同上telnet-server
2)安装完毕后,进行openssh包的编译安装:
备份ssh:
mv /etc/ssh /etc/sshbak
mv /usr/bin/ssh /usr/bin/sshbak
mv /usr/sbin/sshd /usr/sbin/sshdbak
openssh编译安装:
tar -zxvf openssh-8.2p1.tar.gz
cd openssh-8.2p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check --with-pam
make && make install
安装完成后查看版本及修改etc下sshd_config文件,如下:
通过service sshd restart重启sshd,到此openssh升级完毕。
善后工作:
关闭telnet远程连接服务器:
vi /etc/xinetd.d/telnet,将disable=no 改成disable=yes
使用命令server xinetd restart或者/etc/init.d/xinetd restart使更改生效。
升级失败回退:
还原备份ssh:
mv /etc/sshbak /etc/ssh
mv /usr/bin/sshbak /usr/bin/ssh
mv /usr/sbin/sshdbak /usr/sbin/sshd
重启sshd服务:
service sshd restart