CentOS7编译安装升级openssh8.7p1
因生成环境服务器安全扫描出的漏洞问题,只能升级最新的openssh,适用于centos6和centos7的升级使用。
一、编译前工作
openssl版本要求1.0.1以上,zlib版本要求1.1.4以上
备份原先ssh配置文件
cp /usr/bin/ssh /usr/bin/ssh_bak
cp /usr/sbin/sshd /usr/sbin/sshd_bak
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
cp /etc/init.d/sshd /etc/init.d/sshd_bak
下载openssh的官网地址
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
二、编辑安装openssh
openssh编译参数简述
--prefix=PREFIX #安装到哪个路径,默认[/usr/local]
--sysconfdir=DIR #配置路径,默认[PREFIX/etc]
--mandir=DIR #帮助文档路径
--with-md5-passwords #开启使用MD5的密码
--with-zlib=PATH #指定zlib的安装路径
--with-ssl-dir=PATH #指定openssl的安装路径
tar zxf openssh-8.7p1.tar.gz
cd openssh-8.7p1
./configure --prefix=/usr/local/openssh-8.7p1/ --sysconfdir=/etc/ssh/ --with-md5-passwords --mandir=/usr/share/man
make -j 4 && make install
删除旧的ssh命令
rm -f /usr/libexec/openssh/sftp-server
rm -f /usr/bin/ssh-copy-id
rm -f /usr/bin/ssh-add
rm -f /usr/bin/ssh-agent
rm -f /usr/bin/ssh-keygen
rm -f /usr/bin/ssh-keyscan
rm -f /usr/bin/scp
rm -f /usr/bin/sftp
rm -f /usr/bin/ssh
rm -f /usr/sbin/sshd
替换新的ssh命令和常用工具,常用工具都在解压包内复制到系统路径下。
cp -p sftp-server /usr/libexec/openssh/
cp contrib/ssh-copy-id /usr/bin/ssh-copy-id
cp -p /usr/local/openssh-8.7p1/bin/* /usr/bin
cp -p /usr/local/openssh-8.7p1/sbin/* /usr/sbin
设置权限
chmod -R 755 /usr/local/openssh-8.7p1/
chmod -R 755 /usr/bin/ssh*
chmod -R 755 /usr/bin/scp
chmod -R 755 /usr/bin/sftp
chmod -R 755 /usr/sbin/ssh*
复制SSH的启动脚本和设置开机自启
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chown root.root /etc/init.d/sshd
chkconfig --add sshd
SSH重启之前可以先测试配置文件是否有问题,防止重启SSH失败,远程连接断了,如果是本地终端连接可以直接重启
/usr/local/openssh-8.7p1/sbin/sshd -t -f /etc/ssh/sshd_config
前面如果没有报错就可以重启SSH了
/etc/init.d/sshd restart
三、特别说明
centos7可能会因为/usr/lib/systemd/system/sshd.service文件而导致重启失败,因此写了if简单判断下
if [ -f /usr/lib/systemd/system/sshd.service ];then
cat >/usr/lib/systemd/system/sshd.service <<-EOF
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target
[Service]
ExecStart=/usr/sbin/sshd
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl restart sshd || /usr/local/openssh-8.7p1/sbin/sshd
else
/etc/init.d/sshd restart || /usr/local/openssh-8.7p1/sbin/sshd
fi
CentOS7编译安装升级openssh8.7p1的更多相关文章
- CentOS7编译安装Nginx-1.8.1和编译参数
CentOS7编译安装Nginx-1.8.1和编译参数 Web服务器Nginx LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也 ...
- centos7编译安装MySQL5.7.9
title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...
- centos7 编译安装新版LNMP环境
centos7 编译安装新版LNMP环境 环境版本如下: 1.系统环境:Centos 7 x86_64 2.NGINX:nginx-1.11.3.tar.gz 3.数据库:mariadb-10.0.2 ...
- CentOS7编译安装httpd-2.4.41 php7.3
CentOS7编译安装httpd-2.4.41 php7.3 安装参考环境: CentOS Linux release 7.5.1804 (Core) 一.安装依赖包 httpd安装的依赖包 # yu ...
- Centos7 编译安装PHP7
Centos7 编译安装PHP7 编译安装的方式可以让组件等设置更加合理,但需要你对PHP的代码及各种配置非常的熟悉,以下为大致的安装流程,大家可以参考 1.下载编译工具 yum groupinsta ...
- CentOS7编译安装php7.1配置教程详解
这篇文章主要介绍CentOS7编译安装php7.1的过程和配置详解,亲测 ,需要的朋友可以参考. 1.首先安装依赖包: yum install libxml2 libxml2-devel openss ...
- centos7编译安装nginx及无缝升级https
安装依赖: yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 下载nginx: wget -c ...
- Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Mariadb 10.1.20 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 )
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...
- Centos7 编译安装 Nginx Mariadb Asp.net Core2 (实测 笔记 Centos 7.3 + Openssl 1.1.0h + Mariadb 10.3.7 + Nginx 1.14.0 + Asp.net. Core 2 )
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...
随机推荐
- PPT2010制作翻牌动画
原文: https://www.toutiao.com/i6492653280676545037/ 新建一张空白幻灯片 选择"插入"选项卡,"插入"功能组,&q ...
- 从内存管理原理,窥探OS内存管理机制
摘要:本文将从最简单的内存管理原理说起,带大家一起窥探OS的内存管理机制,由此熟悉底层的内存管理机制,写出高效的应用程序. 本文分享自华为云社区<探索OS的内存管理原理>,作者:元闰子 . ...
- HTML、CSS、Javascript、jQuery、Xml
HTML HTML简介 Hyper Text Markup Language (超文本标记语言)简写:HTML.通过标签来标记要显示的网页中的各个部分.网页文件本身是一种文本文件,通过在文本文件中添加 ...
- Nginx 反向代理解决跨域问题分析
当你遇到跨域问题,不要立刻就选择复制去尝试.请详细看完这篇文章再处理 .我相信它能帮到你. 分析前准备: 前端网站地址:http://localhost:8080 服务端网址:http://local ...
- 五天学完MySQL打卡挑战 day01
明天继续上传学习笔记和练习的Word文档 晚安~
- 2月4日 体温APP开发记录
1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发 3.数据库链接,,数据传输功能测试
- 新手学习Java,如何快速从入门到精通!
首先我要给你说的是,任何一个东西从零到精通,都是需要一个过程的,就相当于我们在小学的时候学乘法口诀表,背文言文一样,都是需要我们慢慢的去渡过这个阶段,我们才能慢慢的掌握,其次,毕竟这是一门编程语言,你 ...
- 【刷题-PAT】A1112 Stucked Keyboard (20 分)
1112 Stucked Keyboard (20 分) On a broken keyboard, some of the keys are always stucked. So when you ...
- 🏆【Alibaba中间件技术系列】「RocketMQ技术专题」Broker服务端自动创建topic的原理分析和问题要点指南
前提背景 使用RocketMQ进行发消息时,一般我们是必须要指定topic,此外topic必须要提前建立,但是topic的创建(自动或者手动方式)的设置有一个开关autoCreateTopicEnab ...
- 今天太开心了,因为我知道了seastar框架
今天听说了一个新的C++语言开发的网络框架,叫做seastar. seastar有何特别之处呢?先看看官网提供的性能数据: 性能 HTTPD benchmark: cpu # request/sec ...