ubuntu下openssh升级
因客户漏扫扫描出来openssh及openssl存在漏洞,现升级为官方最新版

这里选择编译安装 去官网下载:
openssl-1.0.2o.tar.gz
openssh7.7.1
zlib-1.2.1 wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
wget https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.7p1.tar.gz
wget http://www.zlib.net/zlib-1.2.11.tar.gz
1.安装zlib
tar xf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make
make install
#这里有一个报错:
# 报错: c_zlib.c:25:19: fatal error: zlib.h: No such file or directory
# zlib标准安装指导:
# /usr/local/src/zlib-1.2.11 # 构建静态库
./configure
make test
make install
# 构建共享库
make clean
./configure --shared
make test
2.升级openssl
tar xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
./config shared zlib #一定要加上shared 参数,要不在安装openssh的时候就无法找到
make
make install
# 备份原来的openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak # 因为源码安装默认安装的位置是 /usr/local/ssl 需要将创建软链接到系统位置
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/i
提示:在这里分享一个遇到的的报错大坑,导致之后安装openssh的时候make install一直报错如下:
OpenSSL version mismatch. Built against 1000105f, you have 10001060
/etc/ld.so.conf里面是这样写的(不知道什么原因):
cat /etc/id.so.conf
include id.so.conf.d/*conf
之前添加lib库的命令是这样的: echo "/usr/local/ssl/lib/" >> /etc/ld.so.conf
后来修改为:echo "/usr/local/ssl/lib" > /etc/ld.so.conf.d/openssl.conf
3.升级openssh
# 到目前为上发现在的openssh的漏洞都是openssh7.4以前的版本。我们当前升级的是openssh7.7p1 # 备份原openssh文件
mv /etc/init.d/ssh /etc/init.d/ssh.old
cp -r /etc/ssh /etc/ssh.old # 卸载原openssh
apt-get remove openssh-client openssh-server
tar xf openssh-7.7p1.tar.gz
cd openssh-7.7p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/lib/sshd #需要指定openssl的安装路径 ---------------------------------报错-------------------------------------------
# 报错 checking whether OpenSSL's PRNG is internally seeded... yes
# configure: error: PAM headers not found
# 解决:ubuntu: apt-get install libpam0g-dev centos: yum -y install pam-devel
-------------------------------------------------------------------------------- make
make install
---------------------------------报错-------------------------------------------------------------------
# 报错: Privilege separation user sshd does not exist
vim /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
# 注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序
# /etc/passwd文件是Linux/UNIX安全的关键文件之一.该文件用于用户登录时校验 用户的口令,当然应当仅对root可写.
--------------------------------------------------------------------------------------------------------- #可查看当前SSH的版本。
ssh -V
#root@oezn121j8Z:~# ssh -V
#OpenSSH_7.7p1, OpenSSL 1.0.2o 27 Mar 2018
到此升级工作完成
如果重启没有
/etc/init.d/ssh
则执行
mv /etc/init.d/ssh.old
/etc/init.d/ssh
ubuntu下openssh升级的更多相关文章
- python3.6和pip3:Ubuntu下安装升级与踩坑之路
本文以Ubuntu16.x系统为例,演示如何安装python3.6和相应环境.安装Python3的机器必须要能访问外网才能进行如下操作! 1. 安装方式 在Ubuntu下安装python有两种方式: ...
- centos7生产环境下openssh升级
由于生产环境ssh版本太低,导致使用安全软件扫描时提示系统处于异常不安全的状态,主要原因是ssh漏洞.推荐通过升级ssh版本修复漏洞 因为是生产环境,所以有很多问题需要注意.为了保险起见,在生产环境下 ...
- UBUNTU 下如何升级 gcc, g++
正如大家所知道的GCC并不支持"make uninstall". 一种推荐安装方式就是把GCC 安装在你自己指定的一个路径,当你不须要某个GCC版本号的时候你仅仅须要移除相应版本号 ...
- CentOS 6.4下OpenSSH升级到6.7操作
一.升级前准备 1.下载openssh-6.7p1.tar.gz: cd /usr/local/src/wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/ ...
- ubuntu下安装/升级软件
参考博客:https://blog.csdn.net/yjk13703623757/article/details/78945576 1.查看软件所有来源 ①.使用apt-cache madison列 ...
- 实际应用脚本备份1——Ubuntu下应用升级脚本与执行方法
程序自动更新脚本,命名为makefile: build:run run: killall java /webapps/‘应用目录名’/ /webapps/ ‘应用目录名’/ cd /opt/apach ...
- ubuntu下升级R版本
ubuntu下升级R版本 在测试<机器学习 实用案例解析>一书的邮件分类代码时,windows系统下rstudio中无法读取特殊字符,在ubuntu下可以.在ubuntu虚拟机下安装t ...
- ubuntu下升级网卡驱动
ubuntu下升级网卡驱动 无线局域网环境下,有个笔记本儿的无线经常断,而其它的终端都好好的,唯独它不行.所以想到检查和更新下无线网卡的驱动看看.以下是操作流程,记录一下. 阅读说明:##为标签, / ...
- ubuntu下nodejs和npm的安装及升级
ubuntu 下 nodejs 和 npm 的安装及升级 参考:https://segmentfault.com/a/1190000007542620 一:ubuntu下安装 node 和 npm命令 ...
随机推荐
- 20170814 新鲜:EChart新增了日历图,要想办法用起来
比如我可以用下面这个图来展示某个电站的年报,看他之后一年每一天的发电量. 或者是在月报的时候看这个月每天的发电量.这个最妙的时候,他可以通过旁边的图例来筛选,从而产生一个动态的效果. 还有可以在 ...
- aspx页面使用ajax遇到try catch中使用Response.End()报错
1.使用Ajax接收数据,在返回Response.Write()后应该调用Response.End()才能将数据写入到调用的页面,才能被jQuery的回调函数获取到返回的JSON数据 2.在try-- ...
- javascript 生成MD5加密
进行HTTP网络通信的时候,调用API向服务器请求数据,有时为了防止API调用过程中被黑客恶意篡改,所请求参数需要进行MD5算法计算,得到摘要签名.服务端会根据请求参数,对签名进行验证,签名不合法的请 ...
- Docker Mongo数据库主主同步配置方法
一.背景 不多说,请看第一篇<Docker Mongo数据库主从同步配置方法> 二.具体操作方法 1.创建目录,如创建~/test/mongo_sr1和-/test/mongo_sr2两个 ...
- PHP访问SQL Server驱动对应关系
引用地址: https://docs.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-driver?vi ...
- Android设备真实DPI与系统标示DPI——ldpi/mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi
1.设备真实DPI与系统标示DPI 2.drawable允许的标示DPI值 drawable文件的合法名称如下: 3.如何验证 Demo如下,建立不同dpi的drawa ...
- 【转载】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技
[导读]TensorFlow 在 2015 年年底一出现就受到了极大的关注,经过一年多的发展,已经成为了在机器学习.深度学习项目中最受欢迎的框架之一.自发布以来,TensorFlow 不断在完善并增加 ...
- Linux进程资源占用分析
[时间:2018-03] [状态:Open] [关键词:linux, 进程,proc,top] 0 引言 最近在分析安卓程序上的monkey测试日志时发现,需要了解下Linux进程资源占用情况及其查看 ...
- MXNET:卷积神经网络
介绍过去几年中数个在 ImageNet 竞赛(一个著名的计算机视觉竞赛)取得优异成绩的深度卷积神经网络. LeNet LeNet 证明了通过梯度下降训练卷积神经网络可以达到手写数字识别的最先进的结果. ...
- Elasticsearch index fields 重命名
reindex数据复制,重索引 POST _reindex { "source": { "index": "twitter" }, &quo ...