CentOS6.5 升级 openssh-7.9 笔记

时间:2019-02-19
本文章向大家介绍CentOS6.5 升级 openssh-7.9 笔记,主要包括CentOS6.5 升级 openssh-7.9 笔记使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

服务器安全监测报告openssh有漏洞,需要升级openssh

因为升级过程中需要关闭openssh,因此有与服务器失去连接的危险,因此需要先安装telnet-server,将telnet 服务开启,确保telnet 能连接到服务器的情况下,才可以开始进行升级

先确认下服务器的版本,查看下linux 的发行版本

lsb_release -a


LSB Version:	:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID:	CentOS
Description:	CentOS release 6.5 (Final)
Release:	6.5
Codename:	Final

从上面的代码看到,本系统是CentOS6.5

再看一下当前的openssh 的版本

[logonuser@localhost ~]$ ssh -V
OpenSSH_7.2p1, OpenSSL 1.0.2g  1 Mar 2016

可以看出当前的openssh 版本是 7.2,而官网上最新版本是7.9

下面开始准备开始升级

一 安装telnet

1 先查看telnet-server是否已经安装,默认情况下linux 是不安装telnet-server 的

[logonuser@localhost ~]$ rpm -qa telnet-server
telnet-server-0.17-48.el6.x86_64

如果没有输出,就是没有安装,上面是我安装后的输出

2 如果没有安装则进行安装telnet-server

[logonuser@localhost ~]# yum install telnet

3 修改配置文件将telnet 开启

[root@localhost logonuser]# vi /etc/xinetd.d/telnet

将配置文件中的 disable = yes 改成 disable = no,将服务开启

4 重启xinetd进程

[logonuser@locahost ~]#service xinetd restart 

5 测试 

telnet 默认是23端口,因此要看下23端口的情况

[root@localhost logonuser]# netstat -tnl |grep 23
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN

上没看出23端口已经开始被启用,所以telnet 启动成功了

6 更换telnet 的默认端口号

由于安全原因机房将一些常用的端口号未对外开放,所以需要将默认的23端口改成1234端口

修改方法相对简单,只需要修改一下 /etc/services 配置文件

[logonuser@localhost ~]$ vi /etc/services
将文件中的

telnet          23/tcp
telnet          23/udp

改成

telnet          1234/tcp
telnet          1234/udp

修改后 重启xinetd 服务

service xinetd restart

至此,telnet-server 服务安装成功,用x-shell 客户端 可以连接成功,用户名和密码和ssh 的用户名密码一样,只是连接协议选择telnet 即可。

二 下载openssh安装文件

下载地址:https://www.openssh.com/portable.html ,在页面中选择  镜像 Taiwan (Taoyuan),

进入到 镜像下载地址:https://ftp.yzu.edu.tw/pub/OpenBSD/OpenSSH/portable/  选择openssh-7.9p1.tar.gz 

openssh 下载文件中带p1 的文件是linux 的安装文件

下载后上传至服务器,然后关闭ssh服务

service sshd stop

然后就开始解压并安装

tar zxvf openssh-7.9p1.tar.gz
cd openssh-7.9p1

./configure --with-ssl-dir=/usr/local/openssl_1_0_2g   --prefix=/usr --sysconfdir=/etc/ssh
make
make install

安装过程中可能提示缺某个组件,一个一个安装即可。 

遇到的坑:

(1)在configure时候错误提示:configure: error: Your OpenSSL headers do not match your library

因为在configure 时候 没有指定ssl 的目录,加上参数 --with-ssl-dir=/usr/local/openssl_1_0_2g 就可以了

(2)make install 安装后,会有提示:/usr/local/etc/ssh_config already exists, install will not overwrite

刚开始以为未安装成功,但这其实只是个提示,openssh 已经安装成功了

官方的解释:http://linux.topology.org/openssh.html

安装后查询下ssh 的版本

[logonuser@localhost ~]$ ssh -V
OpenSSH_7.9p1, OpenSSL 1.0.2g  1 Mar 2016

重启SSH服务
service sshd restart

 可以看到版本已经更新成功了,此时用x-shell 客户端测试是否能连接上服务器,连接没问题,表示安装成功!

最后处于安全考虑,将telnet 服务关闭

[root@localhost logonuser]# vi /etc/xinetd.d/telnet

将 disable = no 
改为 disable = yes

[root@localhost logonuser]# service xinetd restart

上面是将配置文件设置恢复为初始状态(telnet 服务不开启),重启后配置文件生效,然后也可以将服务彻底关闭

[root@localhost logonuser]# service xinetd stop
Stopping xinetd:                                           [  OK  ]