Centos 6.5/6.10 操作系统OpeSSH高危漏洞修复、离线升级OpeSSH详细步骤,内外网通用教程,纯手打
当然也可以自行去下载,清单如下:
1.准备工作,准备好升级安装需要的包,清单如下
telnet-0.17-47.el6.x86_64.rpm
telnet-server-0.17-47.el6.x86_64.rpm
xinetd-2.3.14-34.el6.x86_64.rpm
zlib-1.2.8.tar.gz
openssh-7.4p1.tar.gz
openssl-1.0.1h.tar.gz
上面截图这些包是操作系统版本包,可以先到外网Linux操作系统下载好 ,命令yum install --downloadonly gcc zlib zlib-devel openssl-devel 下载。
默认下载缓存位置/var/cache/yum/x86_64/7/base/packages 。下载好后再拉到内网。也可以用我发的链接地址里面的包,链接地址已经将所有包下载好
1.1查看 openSSH版本
2.安装telnet和守护线程并测试
rpm -ivh --force --nodeps telnet-0.17-47.el6.x86_64.rpm
rpm -ivh --force --nodeps telnet-server-0.17-47.el6.x86_64.rpm
rpm -ivh --force --nodeps xinetd-2.3.14-34.el6.x86_64.rpm
rpm -qa | grep telnet 查看是否已经安装了telnet
rpm -qa | grep xinetd 查看是否已经安装了xinetd服务,因为telnet是挂在xinetd下的
chkconfig telnet on 设置开机启动,避免升级过程中服务器意外重启后无法远程登录系统
vim /etc/xinetd.d/telnet 修改配置文件将”disable= yes”改成” disable=no”
service xinetd restart 重启xinetd服务
iptables防火墙会阻止telnet,所以需要在iptables允许,用如下命令
当你启动telnet服务后,你可以用netstat –tunlp命令来查看telnet服务所使用的端口,可以发现有23。使用下面命令开启这些端口:
iptables -I INPUT -p tcp --dport 23 -jACCEPT
iptables -I INPUT -p udp --dport 23 -jACCEPT
service iptables save //保存
service iptables restart //重启防火墙
测试登录 telnet ip port (使用非root账户)
3.1 重要文件备份
防止升级失败导致文件丢失,请将重要文件和ssh配置文件备份
ssh配置文件备份:
sudo cp -r /etc/ssh/ /etc/ssh_bak
sudo cp /etc/init.d/sshd /etc/init.d/sshd_bak
sudo cp /usr/sbin/sshd /usr/sbin/sshd_bak
3.2卸载旧版本SSH
1.确认OpenSSH需要删除的rpm包
先查看rpm -qa |grep ssh
2.使用rpm的方式删除
rpm -e openssh-server-5.3p1-124.el6_10.x86_64
rpm -e openssh-clients-5.3p1-124.el6_10.x86_64
rpm -e openssh-5.3p1-124.el6_10.x86_64
我在这一步安装操作系统镜像包,第一步准备工作只是在外网上下载,并没有安装,将这些包拉倒内网后,这里才是安装,全部都要一个个安装
例:rpm -ivh --force --nodeps zlib-1.2.7-18.el7.x86_64
3.3 安装ssh新版本
3.3.1 安装zlib
1.解压
sudo tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
2.配置
./configure
这个地方安装如果报错则 vim configure 文件,然后删除以下所有内容
echo “Checking for obsessive-compulsive compiler options…” >>
configure.log
if try $CC -c $CFLAGS $test.c; then : else echo “Compiler error
reporting is too harsh for $0 (perhaps remove -Werror).” | tee -a
configure.log leave 1 fi
3.编译安装
make
make install
3.3.2 安装openssl
1.解压
tar –xf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
2.配置
./config
3.编译安装
make
make install
4.设置软连接, 这一步会报File exists,忽略,然后进行下一步操作
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
5.查看新安装的openssl版本
openssl version –a
3.3.3 安装openssh
1.解压
tar –xf openssh-7.4p1.tar.gz
cd openssh-7.4p1
2.配置
./configure
3.编译安装
make
make install
4.修改配置文件
(1)备份sshd文件
mv /etc/init.d/sshd /etc/init.d/sshd_old (这步可以不做)
(2)复制配置文件
cp /home/upOpenSSH/openssh-8.3p1/contrib/redhat/sshd.init /etc/init.d/sshd
赋权
chmod u+x /etc/init.d/sshd
添加到开机启动项
chkconfig --add sshd
chkconfig sshd on
设置sshd路径
vim /etc/rc.d/init.d/sshd
SSHD=/usr/local/sbin/sshd
设置运行root用户登录
vim /usr/local/etc/sshd_config
PermitRootLogin yes
重启服务,注意,这个时候你要确保能通过其他途径进入桌面,比如vnc,否则的话不要进行下一步,因为service sshd restart
并不会将ssdh服务重启,导致无法通过ssh、xshenll工具连接linux操作系统,这时就只能重装系统!!!,
service sshd restart
这时候重新用ssh连接会发现连不上,进Linux桌面发现service sshd status 状态是关的 service sshd start即可
到此升级完成。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
确认升级后的SSH版本可用时,停止telnet服务
1.确认版本
ssh –V 确认升级后的版本信息
2.修改配置文件
将vi /etc/xinetd.d/telnet文件中的disable = no修改为disable = yes
3.设置telnet开机不启动
chkconfig xinetd off
4.关闭telnet服务
/etc/init.d/xinetd stop
5.开启防火墙并设置开机自动启动
service iptables start
chkconfig iptables on