#!/bin/bash

# 原先的版本号信息
# openssl version
#OpenSSL 1.0.2k-fips 26 Jan 2017 # ssh -V
#OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 echo "安装必备软件"
yum -y install unzip wget echo "下载软件到指定目录并解压"
cd /usr/local/src/
wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
wget --no-check-certificate https://ftp.openssl.org/source/openssl-1.1.1n.tar.gz
tar -zxvf openssl-1.1.1n.tar.gz
tar -zxvf openssh-9.0p1.tar.gz echo "安装依赖包"
yum -y install perl perl-devel gcc gcc-c++ echo "编译安装openssl-1.1.1n"
cd /usr/local/src/openssl-1.1.1n
./config
make && make install echo "解决一些链接库的问题"
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/
cp -a libssl.a /usr/local/lib/
cp -a libcrypto.a /usr/local/lib/ echo "查看版本,应该显示的还是原来的版本"
openssl version echo "查看新安装版本文件的二进制路径"
which openssl echo "若版本不是新版,需要替换旧版"
cd /usr/bin/
./openssl version
mv openssl openssl102
ln -s /usr/local/bin/openssl /usr/bin/openssl
ls -al openssl* echo "再次查看版本,应该显示的是新版本"
openssl version echo "卸载旧版本"
yum erase -y openssl openssl-devel echo "openssl更新版本完成"
echo "openssl更新版本完成"
echo "openssl更新版本完成"
echo "openssl更新版本完成"
echo "openssl更新版本完成" echo "查看当前sshd服务"
systemctl status sshd echo "删除原有配置文件"
cd /etc/
rm -fr ssh echo "卸载旧版本,不会导致当前远程连接断开"
rpm -qa | grep openssh-*
systemctl stop sshd
yum erase -y openssh-clients openssh-server openssh echo "查看版本号,完成卸载"
ssh -V echo "安装依赖包"
yum install -y pam-devel zlib zlib-devel echo "编译安装新版本ssh"
cd /usr/local/src/openssh-9.0p1
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/include --with-ssl-dir=/usr/local/bin --with-zlib --with-md5-passwords --with-pam make && make install echo "查看版本号,完成安装"
ssh -V echo "设置启动服务"
ls contrib/redhat/sshd.init cp -a contrib/redhat/sshd.init /etc/init.d/sshd echo "查看是否有执行权限,若没有,需要 chmod +x 来赋权"
ls -l /etc/init.d/sshd && chmod a+x /etc/init.d/sshd echo "设置开机启动"
chkconfig --add sshd
/sbin/chkconfig sshd on echo "启动服务并查看状态"
systemctl start sshd && systemctl status sshd echo "验证开机启动"
##下面显示2、3、4、5是on就可以,其数字代表启动级别
chkconfig --list sshd echo "为用户设置登录的权限,结尾添加即可"
echo "permitRootlogin yes" >> /etc/ssh/sshd_config echo "查看openssl版本会提示找不到文件,再次设置ln软连接"
ln -s /usr/local/bin/openssl /usr/bin/openssl echo "重启服务"
systemctl restart sshd echo "sshd更新版本完成"
echo "sshd更新版本完成"
echo "sshd更新版本完成"
echo "sshd更新版本完成"
echo "sshd更新版本完成" # ssh -V
#OpenSSH_9.0p1, OpenSSL 1.1.1n 15 Mar 2022
# openssl version
#OpenSSL 1.1.1n 15 Mar 2022

升级openssl和openssh脚本的更多相关文章

  1. CentOS7源码升级OpenSSL和OpenSSH

    一.CentOS7升级OpenSSL 1.查看ssl版本及下载相关依赖包 openssl version -a yum install -y gcc openssl-devel pam-devel r ...

  2. centos7升级openssl、openssh常见问题及解决方法

    升级至openssl 1.1.1版本 升级至openssh 8.0版本 openssl version -a   当前查看版本 一.安装telnet (以防升级失败,连不上服务器,建议弄) #查看是否 ...

  3. 升级openssl和openssh版本

    一.安装telnet-server服务(建议安装) 1. 查看系统是否已安装telnet-server,linux系统上默认已经安装telnet-client(或telnet),而telnet-ser ...

  4. Centos6.5 升级Openssl + Openssh

    xu言: 平时很懒,都不想写blog.今天(2018.05.15)开始尝试每天写一篇吧,看我自己能坚持多久! 准备工作: 为了防止在操作过程中导致ssh远程中断,首先安装一个telnet-server ...

  5. 实战redhat6.5离线升级openssl&openssh

    记录一次RedHat6.5升级openssl&openssh踩坑填坑.由于机房信息安全员用绿盟扫描出服务器openssh有8个重要的安全漏洞,最好的解决方式就是升级版本. 注意事项: 先升级o ...

  6. 升级openssl

    升级openssl 依赖openssl的软件,如果是静态编译openssl,那么需要重新编译软件,如果是利用openssl的so动态库,那么只需要替换一下so文件并重启软件即可 openssh也依赖o ...

  7. CentOS6.9下升级默认的OpenSSH操作记录(升级到OpenSSH_7.6p1)

    近期对IDC机房服务器做了一次安全漏洞扫描,漏扫结果显示服务器的OpenSSH版本太低(CentOS6默认是OpenSSH_5.3p1),存在漏洞隐患,安全部门建议升级到OpenSSH_7.6p1.升 ...

  8. Linux下升级openssl

    公司由于使用第三方漏洞扫描,检测出openssh存在漏洞,升级openssh后仍无效果,于是升级openssl 系统信息: 依赖软件:make.gcc.zlib1g-dev 升级步骤: 1.去官网下载 ...

  9. 升级openssl环境至openssl-1.1.0c

    升级openssl环境至openssl-1.1.0c1.查看源版本 [root@zj ~]# openssl version -aOpenSSL 1.0.1e-fips 11 Feb 2013 2.下 ...

随机推荐

  1. JDBC(Java Database Connectivity)编写步骤

    JDBC是代表一组公共的接口,是Java连接数据库技术: JDBC中的这些公共接口和DBMS数据库厂商提供的实现类(驱动jar),是为了实现Java代码可以连接DBMS,并且操作它里面的数据而声名的. ...

  2. java自定义注解实现执行所有要测试的接口

    /* * 注解类 * */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Demo ...

  3. NOI / 2.1基本算法之枚举-8760:Cantor表

    总时间限制: 1000ms 内存限制: 65536kB 描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 我们以Z字形给上表的每一项编 ...

  4. CF1709A Three Doors 题解

    题意 有三扇门,每扇门都有一把钥匙与该门上的数字相对应,若数字一样就可以打开. 其中有两扇门后有钥匙,一扇门后为空. 现拥有一把钥匙 \(x\),给出三扇门后的钥匙(若为 \(0\) 即门后没有钥匙) ...

  5. InvalidClassException异常_原理和解决方案和练习_序列化集合

    InvalidClassException异常_原理和解决方案 当JVM反序列化对象的时候,能找到class文件,但是class文件在序列化对象之后发生了修改,那么反序列化操作也会失败,抛出一个Inv ...

  6. python打开文件、文件夹窗口、终端窗口

    简介 在一些项目中,我们会需要在生成完文件后打开某些文件或者文件夹窗口,这就需要使用到内置的文件打开方式了. 打开文件或文件夹 Windows import os import subprocess ...

  7. 2499-springboot使用jar形式打包在linux上运行

    由于maven使用的种种问题,以前springboot版本变化较快带来的一些不兼容问题,是否考虑下使用jar形式运行web程序,而不是固守于war包与tomcat: 主要原理有两点: 使用nohup来 ...

  8. 【web自动化测试】Playwright快速入门,5分钟上手

    我喜欢Playwright! 这是微软开源的一款非常强大的自动化工具,再过几年,他很有可能取代Selenium在浏览器自动化的通知地位.使用过一段时间,我没有找到很好的中文资料可以参考,导致很多问题无 ...

  9. Flutter-填平菜鸟和高手之间的沟壑

    Flutter-填平菜鸟和高手之间的沟壑 准备写作中... 1.Flutter-skia-影像,Flutter skia-图形渲染层.应用渲染层2.方法通道使用示例,用于演示如何使用方法通道实现与原生 ...

  10. Vue 列动态取值

    在前端开发过程中,可能会遇到列动态取值的情况,即列表中某列的取值由两个或以上的字段的值决定. 用 Vue 实现的话可以用如下代码解决 <template slot-scope="sco ...