升级Centos7的openssh到openssh-9.6p1版本 shell脚本 漏扫整改

升级Centos7的openssh到openssh-9.6p1版本 shell脚本 漏扫整改

#!/bin/bash# 声明: 该脚本适用于升级Centos7的openssh到openssh-9.6p1版本# 定义源码包版本号
OPENSSH_VERSION=openssh-9.6p1
OPENSSL_VERSION=openssl-3.2.1
ZILB_VERSION=zlib-1.3.1# 安装编译环境
yum -y install wget tar gcc make# 创建/opt/opensshUpgrade目录
mkdir -p /opt/opensshUpgradecd /opt/opensshUpgrade# 下载源码包
# 下载openssh源码包
wget -c https://ftp.riken.jp/pub/OpenBSD/OpenSSH/portable/$OPENSSH_VERSION.tar.gz
# 下载openssl源码包
wget -c https://www.openssl.org/source/$OPENSSL_VERSION.tar.gz
# 下载zlib源码包
wget -c https://www.zlib.net/$ZILB_VERSION.tar.gz# 解压安装包,我习惯将安装包解压到/usr/local/src
tar xf $OPENSSH_VERSION.tar.gz -C /usr/local/src/
tar xf $OPENSSL_VERSION.tar.gz -C /usr/local/src/
tar xf $ZILB_VERSION.tar.gz -C /usr/local/src/# 安装zlib-1.2.11
yum -y install gcc gcc-c++ kernel-devel
cd /usr/local/src/$ZILB_VERSION/
./configure --prefix=/usr/local/zlib && make -j && make install# 备份老版的openssl和动态库
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak# 安装 openssl
cd /usr/local/src/$OPENSSL_VERSION/
./config --prefix=/usr/local/ssl -d shared
make -j && make install# 创建软连接到/usr/bin/openssl
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/opensslecho '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v# 安装openssh
mv /etc/ssh /etc/ssh.bak	# 备份原ssh
cd /usr/local/src/$OPENSSH_VERSION/
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib 
make -j && make install# 卸载原openssh
yum autoremove openssh -y# 备份 /etc/ssh 原有文件,并将新的配置复制到指定目录
mv /usr/sbin/sshd /usr/sbin/sshd.bak &>/dev/null
cp -rf /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak &>/dev/null
cp -rf /usr/local/openssh/bin/ssh /usr/bin/ssh mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak &>/dev/null
cp -rf /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak &>/dev/null
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub# 复制文件到相应的系统文件夹
cd /usr/local/src/openssh-9.0p1/contrib/redhat
cp sshd.init  /etc/init.d/sshd # sshd_config文件修改
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
# 开启x11转发
# echo "X11Forwarding yes" >> /etc/ssh/sshd_config
# X11配置
# echo "X11UseLocalhost no" >> /etc/ssh/sshd_config                
# X11认证配置
# echo "XAuthLocation /usr/bin/xauth" >> /etc/ssh/sshd_config
# 禁用DNS反查,加快ssh登录速度
echo "UseDNS no" >> /etc/ssh/sshd_config
# 允许root登录
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
# 允许密钥登录
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
# 允许密码登录
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config# 启动 sshd 并将其加入开机自启
systemctl stop sshd.service &>/dev/null
rm -rf /lib/systemd/system/sshd.service 
systemctl daemon-reload
cp /usr/local/src/$OPENSSH_VERSION/contrib/redhat/sshd.init /etc/init.d/sshd
/etc/init.d/sshd restart# 添加开机自启动项
chkconfig --add sshd
systemctl enable --now sshd# 查看sshd服务是否启动
systemctl status sshd| grep  "Active: active (running)"# 查看openssh版本和openssl版本
sshd -V
ssh -v
openssl versionif [ $? -eq 0 ]; thenecho -e "\033[32m[INFO] OpenSSH upgraded to 9.0p1  successfully!\033[0m"
elseecho -e "\033[31m[ERROR] OpenSSH upgraded to 9.0p1 faild!\033[0m"
fi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/719663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端面试题5】利用 border 属性画一个三角形

举例1:利用 border 属性画一个三角形(小技巧) 完整代码如下: div{width: 0;height: 0;border: 50px solid transparent;border-top-color: red;border-bottom: none; }步骤如下: (1)当我们设…

【QT+QGIS跨平台编译】之五十六:【QGIS_CORE跨平台编译】—【qgsmeshcalclexer.cpp生成】

文章目录 一、Flex二、生成来源三、构建过程一、Flex Flex (fast lexical analyser generator) 是 Lex 的另一个替代品。它经常和自由软件 Bison 语法分析器生成器 一起使用。Flex 最初由 Vern Paxson 于 1987 年用 C 语言写成。 “flex 是一个生成扫描器的工具,能够识别文本中…

Android 拍照本地图片选择框架适配

前言 通常技术方案的选择、会带来后续一些不可控的东西,这也是没法避免的,程序开发者中同时面对、测试、领导、产品各种要求。同时在网络上查找的资料也只是很旧的,不一定适合新设备,需要推倒重新弄 1、解决方案通过意图选择器做…

day6 数组 嵌套循环

1&#xff1a;打印杨辉三角 91 int arr[6][6];92 int i,j0;93 for(i0;i<6;i)94 {95 for(j0;j<i;j) 96 {97 if(j0||ij)98 {99 arr[i][j]1; …

2024-3-4 如何写出具有python风格的代码

写出具有python风格的代码 什么是python风格如何写出具有python风格的自定义数据类型 什么是python风格 python风格是指自定义的数据类型表现得得与内置类型一样。比如&#xff0c;我创建了一个类&#xff0c;它的实例不用调用类的方法就可以实现迭代、切片&#xff0c;可以直…

推特API(Twitter API)对接说明,用户code To Token换取

前期准备 提前准备、说明&#xff1a;目前对接推特api开发门户分为3个版本&#xff0c;分别是免费的&#xff0c;100美金一个月的基础版以及5000美金一个月的企业版&#xff0c;免费的目前就两个接口可以调用&#xff0c;所以想要对接和使用推特最基本的也需要付100美元一个月…

百度百科人物创建要求是什么?

百度百科作为我国最大的中文百科全书&#xff0c;其收录的人物词条要求严谨、客观、有权威性。那么&#xff0c;如何撰写一篇高质量的人物词条呢&#xff1f;本文伯乐网络传媒将从内容要求、注意事项以及创建流程与步骤三个方面进行详细介绍。 一、内容要求 1. 基本信息&#…

什么是 web 应用的 type-ahead search help

在 Web 前端设计领域&#xff0c;type-ahead search help&#xff08;又称为自动完成或即时搜索&#xff09;是一种用户界面功能&#xff0c;它能够在用户输入搜索词的同时&#xff0c;实时提供搜索建议或结果。这种功能极大地提升了用户体验&#xff0c;因为它可以帮助用户快速…

LeetCode每日一题【c++版】- 用队列实现栈与用栈实现队列

用队列实现栈 题目描述 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack 类&#xff1a; void push(int x) 将元素 x 压入栈顶。int pop() 移除…

Studio One 6永久激活版 附完整图文安装破解教程

Studio One 6是一款功能强大的音乐制作和录音软件&#xff0c;专为Mac操作系统设计。它提供了多轨录音和混音、MIDI音乐制作、实时效果和处理、VST插件支持以及高级编辑和编排等丰富的功能。无论是专业音乐制作人还是音乐爱好者&#xff0c;都可以使用Studio One 6来创建和编辑…

程序员英语词汇宝典(建议收藏)

很多小伙伴说&#xff0c;英文不好能不能学习编程&#xff0c;我个人的看法是英文不好&#xff0c;并不影响你学习编程&#xff0c;但有可能会影响到你的编程上限&#xff0c;因为一些最新的文档都是英文的。如果你想成为一个编程大牛&#xff0c;那么英文还是很有必要的。今天…

cocos-lua定时器用法

本文介绍cocos-lua(非Quick-cocos)的定时器用法 定时器按是否会随节点销毁&#xff0c;可分为节点调度器和全局调度器 一.节点调度器 frameworks\cocos2d-x\cocos\scripting\lua-bindings\script\cocos2d\deprecated.lua中实现了了schedule和 performWithDelay 1.1.schedul…

基础真空技术外国文献Fundamentals of Vacuum Technology

基础真空技术外国文献Fundamentals of Vacuum Technology

道路积水监测站——确保道路畅通和行车安全

TH-JS1道路积水监测站是一种专门用于监测城市道路积水情况的设备&#xff0c;旨在保障城市道路安全和防止水患对交通造成的不利影响。这些监测站通过实时检测和记录道路积水数据&#xff0c;为城市管理部门提供重要信息&#xff0c;以便及时采取应对措施&#xff0c;确保道路畅…

vue diff算法介绍

Vue.js 的 diff 算法是一种用于虚拟 DOM 比较的高效算法&#xff0c;其核心目的是在数据变更时&#xff0c;能够最小化 DOM 操作&#xff0c;提高更新性能。以下是关于 Vue diff 算法的介绍&#xff1a; 1. 算法目标&#xff1a; Vue 的 diff 算法旨在比较新旧虚拟节点&#…

990-29产品经理:IT risk management process IT风险管理流程

IT risk management process IT风险管理流程 In business, IT risk management entails a process of identifying, monitoring and managing potential information security or technology risks with the goal of mitigating or minimising their negative impact. Exampl…

MATLAB环境下基于离散小波变换的心电信号伪影去除及PQRST波检测

可穿戴个人健康监护系统被广泛认为是下一代健康监护技术的核心解决方案。监护设备不断地感知、获取、分析和存储大量人体在日常活动中的生理数据&#xff0c;为人体的健康状况提供必要的、准确的、集成的和长期的评估和反馈。在心电监测领域&#xff0c;可穿戴传感器具有以下应…

LeetCode刷题-206.反转链表【递归实现】

206.反转链表 题目 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 示例1 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例2 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例3 输入&#xff1a;hea…

鸿蒙开发就业前景以及发展方向分析~

鸿蒙操作系统作为华为公司自主研发的操作系统&#xff0c;已经成为当下炙手可热的话题。作为一个全新的操作系统&#xff0c;鸿蒙开发为IT行业带来了巨大的就业机会。本文将围绕鸿蒙开发的就业前景以及发展方向展开讨论。 一、鸿蒙开发就业前景 随着鸿蒙操作系统的发布&#…

python实现有限域GF(2^8)上的乘法运算

有限域GF(2^8)上的乘法运算可以看成多项式的乘法 5e转换成二进制为0101 1110&#xff0c;对应的多项式为x^6x^4x^3x^2x 3f转换成二进制为0011 1111&#xff0c;对应的多项式为x^5x^4x^3x^2x1 将这两个多项式相乘再模多项式x^8x^4x^3x1得到结果为1110 0101&#xff0c;转换为…