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 ]
- JDK1.7新特性(3):java语言动态性之脚本语言API
- JDK1.7新特性(4):java语言动态性之反射API
- ASP.NET Core集成现有系统认证
- Redis(2):常用命令详解
- C#移动跨平台开发(2)Xamarin移动跨平台解决方案是如何工作的?
- Ruby(3):基本语法中
- Python(3):文件读写与异常
- 向ASP.NET Core迁移
- Gitlab CI 自动部署 asp.net core web api 到Docker容器
- 从XMLHttpRequest请求响应里getResponseHeader(header)报错:Refused to get unsafe header "**" 问题解决
- 全面理解 ASP.NET Core 依赖注入
- jq实现上传头像并实时预览功能
- 初探领域驱动设计(2)Repository在DDD中的应用
- js取整并保留两位小数的方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- codeforces1294D(思维+暴力)
- codeforces 1367D(思维)
- 数据库事务处理与资源池
- codeforces 1328D(思维)
- codeforces 1283D(BFS)
- codeforces 1213D2(贪心+思维)
- codeforces 1426E(贪心)
- codeforces 1374E1(贪心+优先队列)
- codeforces 455A(dp)
- codeforces 1296E1(贪心+思维)
- codeforces 1216E1(数学+暴力)
- JDBC基础入门使用
- codeforces 1353E(dp)
- codeforces 1396A(构造)
- codeforces 1335E1+E2(思维)