升级openssl和openssh脚本
#!/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脚本的更多相关文章
- CentOS7源码升级OpenSSL和OpenSSH
一.CentOS7升级OpenSSL 1.查看ssl版本及下载相关依赖包 openssl version -a yum install -y gcc openssl-devel pam-devel r ...
- centos7升级openssl、openssh常见问题及解决方法
升级至openssl 1.1.1版本 升级至openssh 8.0版本 openssl version -a 当前查看版本 一.安装telnet (以防升级失败,连不上服务器,建议弄) #查看是否 ...
- 升级openssl和openssh版本
一.安装telnet-server服务(建议安装) 1. 查看系统是否已安装telnet-server,linux系统上默认已经安装telnet-client(或telnet),而telnet-ser ...
- Centos6.5 升级Openssl + Openssh
xu言: 平时很懒,都不想写blog.今天(2018.05.15)开始尝试每天写一篇吧,看我自己能坚持多久! 准备工作: 为了防止在操作过程中导致ssh远程中断,首先安装一个telnet-server ...
- 实战redhat6.5离线升级openssl&openssh
记录一次RedHat6.5升级openssl&openssh踩坑填坑.由于机房信息安全员用绿盟扫描出服务器openssh有8个重要的安全漏洞,最好的解决方式就是升级版本. 注意事项: 先升级o ...
- 升级openssl
升级openssl 依赖openssl的软件,如果是静态编译openssl,那么需要重新编译软件,如果是利用openssl的so动态库,那么只需要替换一下so文件并重启软件即可 openssh也依赖o ...
- CentOS6.9下升级默认的OpenSSH操作记录(升级到OpenSSH_7.6p1)
近期对IDC机房服务器做了一次安全漏洞扫描,漏扫结果显示服务器的OpenSSH版本太低(CentOS6默认是OpenSSH_5.3p1),存在漏洞隐患,安全部门建议升级到OpenSSH_7.6p1.升 ...
- Linux下升级openssl
公司由于使用第三方漏洞扫描,检测出openssh存在漏洞,升级openssh后仍无效果,于是升级openssl 系统信息: 依赖软件:make.gcc.zlib1g-dev 升级步骤: 1.去官网下载 ...
- 升级openssl环境至openssl-1.1.0c
升级openssl环境至openssl-1.1.0c1.查看源版本 [root@zj ~]# openssl version -aOpenSSL 1.0.1e-fips 11 Feb 2013 2.下 ...
随机推荐
- DNS 系列(一):为什么更新了 DNS 记录不生效?
我们在上网时如果想要访问到另一台机器上的内容,通常只需要直接输入一串地址,例如:www.upyun.com,就能够准确访问到自己想要访问的网站.但是实际上这只是方便我们记忆的字符形式网络标识,真正让我 ...
- 循环控制-break语句和continue语句
break关键字的用法有常见的两种: 1.可以用switch语句当中,一旦执行,整个switch语句立刻结束 2.还可以用在循环语句当中,一定执行,整个循环语句立刻结束,打断循环 关于循环的选择,有一 ...
- 强化学习-学习笔记12 | Dueling Network
这是价值学习高级技巧第三篇,前两篇主要是针对 TD 算法的改进,而Dueling Network 对 DQN 的结构进行改进,能够大幅度改进DQN的效果. Dueling Network 的应用范围不 ...
- day04_数组
数组 学习目标: 1. jvm内存图入门 2. 一维数组的使用 3. 二维数组的使用 4. 数组的内存结构 5. 数组中常见算法 6. 数组中常见的异常 一.JVM内存图入门 java程序运行在jvm ...
- Sentry的安装、配置、使用
前言 上一篇文章介绍了ExceptionLess这个日志收集系统:ExceptionLess的安装.配置.使用 由于ExceptionLess官方提供的客户端只有.Net/.NetCore平台和js的 ...
- ShardingSphere数据分片
码农在囧途 坚持是一件比较难的事,坚持并不是自欺欺人的一种自我麻痹和安慰,也不是做给被人的,我觉得,坚持的本质并没有带着过多的功利主义,如果满是功利主义,那么这个坚持并不会长久,也不会有好的收获,坚持 ...
- MyBatis-通用Mapper-tk.mybatis的使用
MyBatis-通用Mapper[更新中] tk.mybatis的使用 前言 使用MyBatis开发,如果是普通是同MyBatis进行开发,那么就需要在xml文件中编写大量的SQL.当数据库表结构发生 ...
- [极客大挑战 2019]BabySQL-1|SQL注入
1.打开题目之后,查看源代码信息,发现check.php文件,结果如下: 2.那就只能尝试登录,经测试当输入or.by.select.from.and.where等关键字时会被过滤且会被过滤为空(过滤 ...
- SpringBoot定时任务 - 经典定时任务设计:时间轮(Timing Wheel)案例和原理
Timer和ScheduledExecutorService是JDK内置的定时任务方案,而业内还有一个经典的定时任务的设计叫时间轮(Timing Wheel), Netty内部基于时间轮实现了一个Ha ...
- 它把RabbitMQ的复杂全屏蔽了,我朋友用它后被老板一夜提拔为.NET架构师
本文技术源自外企,并已在多个世界500强大型项目开发中运用. 本文适合有初/中级.NET知识的同学阅读.(支持.NET/.NET Framework/.NET Core) RabbitMQ作为一款主流 ...